Pandas数据帧添加多个空行问题



我已经测试了向Pandas DataFrame添加多个空行的代码,它起到了作用。

import pandas as pd
df = pd.DataFrame({'name': ["James", "White", "John"],
'rebounds': [7, 7, 8]})
for i in range(100):
dft =  df.columns.values.tolist()
s = pd.Series(dft)
df.loc[len(df)] =s
print(len(df.index))

在我的应用程序中,我有这样的代码,它添加了16个空行,但只添加了4行。

print(f"Before adding {len(df3.index)}")
dft =  df3.columns.values.tolist()
s = pd.Series(dft)
for i in range(16):
df3.loc[len(df3)] =s
print(f"After adding {len(df3.index)}")

输出

Before adding 221
After adding 225

为什么不在我的应用程序代码中添加16个空行?如何解决此问题?

感谢

您可能有重复的索引。例如,如果您的阵列有221行,但有一个标记222,则不会添加任何行。

一种更稳健的方法可能是concat:

N = 4
df = pd.concat([df, pd.DataFrame(columns=df.columns,
index=range(len(df), len(df)+N))
])

输出:

name rebounds
0  James        7
1  White        7
2   John        8
3    NaN      NaN
4    NaN      NaN
5    NaN      NaN
6    NaN      NaN

最新更新