我已经测试了向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