将多个数据框的零附加到相同的大小
Posted
技术标签:
【中文标题】将多个数据框的零附加到相同的大小【英文标题】:Appending zeros for multiple Dataframes to be same size 【发布时间】:2021-12-30 22:10:11 【问题描述】:rows_len=[]
row_list=[]
rows_list= list(patientdataset.copy().values())
for i in range(0,len(rows_list)):
rows_len.append(len(rows_list[i]))
max_length = max(rows_len)
for lista in rows_list:
for i in range(max_length - len(lista)):
lista = pd.DataFrame(lista, columns=['Level','IsCorrect','TotalSeconds'])
zeros = [0.0,0.0,0.0]
zerosseries = pd.Series(zeros, index = ['Level','IsCorrect','TotalSeconds'])
lista = lista.append(zerosseries, ignore_index=True)
所以我有一个数据框列表,rows_list
,所有数据框都有相同的 3 列,但行大小不同。
当我尝试附加一系列零值以使数据帧大小相同时,它不会附加 (lista = lista.append(zerosseries, ignore_index=True)
),并且我尝试了许多其他方法,有人知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:您的代码似乎很好,只是您没有在任何地方收集更改 -
out_list = []
for lista in row_list:
for i in range(max_length - lista.index.size):
print(lista.index.size)
zeros = [0.0, 0.0, 0.0]
zeros_series = pd.Series(zeros, index=lista.columns)
lista = lista.append(zeros_series, ignore_index=True)
out_list.append(lista)
由于您在外部for loop
中使用变量lista
进行循环,然后在内部循环中创建一个新的lista
,因此修改后的lista
与原来的不一样
【讨论】:
非常感谢,这非常需要!以上是关于将多个数据框的零附加到相同的大小的主要内容,如果未能解决你的问题,请参考以下文章