为多个数据帧附加零以使其大小相同

Appending zeros for multiple Dataframes to be same size

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)

所以我有一个 Dataframes 列表,rows_list,所有 Dataframes 都有相同的 3 列,但行大小不同。

当我尝试附加一系列零值以使数据帧大小相同时,它不会附加 (lista = lista.append(zerosseries, ignore_index=True)) 并且我尝试了许多其他方法,有没有人知道如何解决这个问题?

您的代码似乎没问题,只是您没有在任何地方收集更改 -

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 不是和原来的一样