pandas:dataframe在指定位置插入一行数据

直接在末尾添加一行数据

思路:利用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
  • 18
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值