思路:利用df.apped()
方法即可
实例:
data = {
'name':['li', 'gg', 'zz'],
'age':[20, 21, 22],
'height':[170, 178, 174]}
df = pd.DataFrame(data)
print('df:')
print(df)
df_new = df.append({'name':'yy', 'age':25, 'height':168}, ignore_index=True)
print('df_new:')
print(df_new)
结果:
df:
name age height
0 li 20 170
1 gg 21 178
2 zz 22 174
df_new:
name age height
0 li 20 170
1 gg 21 178
2 zz 22 174
3 yy 25 168
思路:先将原始的df在第i行切割,分成两个部分df1和df2。然后再利用pd.concat()
将[df1, df_add, df2]
合并成一个df。
实例:
def insert(df, i, df_add):
# 指定第i行插入一行数据
df1 = df.iloc[:i, :]
df2 = df.iloc[i:, :]
df_new = pd.concat([df1, df_add, df2], ignore_index=True)
return df_new
data = {
'name':['li', 'gg', 'zz'],
'age':[20, 21, 22],
'height':[170, 178, 174]}
df = pd.DataFrame(data)
print('df:')
print(df)
df_add = pd.DataFrame({'name':['yy'], 'age':[25], 'height':[168]})
# 在第2行插入一条新的数据
df_new = insert(df, 1, df_add)
print('df_new:')
print(df_new)
结果:
df:
name age height
0 li 20 170
1 gg 21 178
2 zz 22 174
df_new:
name age height
0 li 20 170
1 yy 25 168
2 gg 21 178
3 zz 22 174