pandas 使用itertuples编辑单元格值 [英] pandas edit a cell value with itertuples

查看:803
本文介绍了 pandas 使用itertuples编辑单元格值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想加快我的代码的速度,所以我不喜欢将double用于: 我的代码:

I would like speed my code, so I don't like to use double for: my code:

    for c in range(0, n-1):
        for l in range(0,n-c-1):
            df2.ix[l,c]=C_back(l,c,df)

我想使用

for x in df.itertuples():

但是我不知道如何修改特定的单元格值. 谢谢

but I don't know how to modify a specific cell value. thanks

推荐答案

使用stack

for mytuple, value in df.stack().iteritems():
    print(mytuple, value)


考虑df

df = pd.DataFrame(np.arange(9).reshape(-1, 3), list('ABC'), list('XYZ'))
df

for mytuple, value in df.stack().iteritems():
    print(mytuple, value)

('A', 'X') 0
('A', 'Y') 1
('A', 'Z') 2
('B', 'X') 3
('B', 'Y') 4
('B', 'Z') 5
('C', 'X') 6
('C', 'Y') 7
('C', 'Z') 8


设置df

for (i, j), value in df.stack().iteritems():
    df.set_value(i, j, value ** 2)

df

这篇关于 pandas 使用itertuples编辑单元格值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆