Pandas中的DataFrame怎么在遍历的同时修改单元格内容?

在Pandas中,DataFrame是一个非常重要的数据结构,在对DataFrame进行遍历的同时修改其单元格内容是常见的需求。本文介绍几种在Pandas中遍历DataFrame并修改单元格的方法。

.loc按标签选择
可以使用`.loc`按行标签和列标签选择单元格,然后赋值:

for row in df.index:
    for col in df.columns:
        df.loc[row, col] = new_value


.iloc按位置选择
使用`.iloc`按整数位置选择单元格,然后赋值: 

for row in range(df.shape[0]):
    for col in range(df.shape[1]):
        df.iloc[row, col] = new_value


.itertuples()遍历行
通过`.itertuples()`遍历行,然后修改指定列:

for row in df.itertuples():
    df.at[row.Index, 'col1'] = new_value

.apply()批量修改
通过`.apply()`在轴上应用函数进行批量修改:   

df[['col1','col2']] = df[['col1','col2']].apply(lambda x: new_value, axis=1)


.iterrows()遍历行
通过`.iterrows()`同时遍历行标签和行值,然后修改:

for label, row in df.iterrows():
    df.at[label, 'col1'] = new_value


举个例子,有这样一个DataFrame:

   |   col1 |  col2 | 
:--|:--|:-- 
0 |   1    |   4
1 |   2    |   5 
2 |   3    |   6


可以这样同时遍历和修改:

for row in df.index:
    for col in df.columns:
        if col == 'col1' and row == 2:
            df.loc[row, col] = 10  

 
结果为:

   |  col1 |  col2 | 
:--|:--|:--
0 |   1   |   4
1 |   2   |   5
2 |  10   |   6
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devid008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值