gpt4 book ai didi

python - 如何在不将每个索引应用于每一行的情况下迭代数据框中的每一行?

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:33 26 4
gpt4 key购买 nike

如何在不将每个索引应用于每一行的情况下迭代数据框中的每一行?

>>> d2 = {'one' : pd.Series(['us 1','uk 2','china 3','india 4'], index=['a', 'b', 'c','d'])}
>>> df2 = pd.DataFrame(d2)
>>> df2
one
a us 1
b uk 2
c china 3
d india 4

>>> for index, row in df2.iterrows():
>>> for line in df2['one']:
>>> print index, line
a us 1
a uk 2
a china 3
a india 4
b us 1
b uk 2
b china 3
b india 4
c us 1
c uk 2
c china 3
c india 4
d us 1
d uk 2
d china 3
d india 4

我希望能够修改第一列中的每一行,为此,我相信我需要以下行:for line in df2['one']:

但是,正如您所看到的,当我写这行代码时,在整个数据帧上索引 a 循环,依此类推直到索引 d。

有没有一种方法可以让我循环,这样我就可以在每一行中修改我需要的内容,但保持数据框的初始完整性,即每个索引一行,总行数?

最佳答案

正如 Kartik 所提到的,最佳实践是避免循环。

但是有可能这样循环:

for line in df2['one']: 
print line

us 1
uk 2
china 3
india 4

但是如果你想从 one 列中提取数据,pandas 文档描述了这种拆分 here :

import pandas as pd

d2 = {'one' : pd.Series(['us 1','uk 2','china 3','india 4'], index=['a', 'b', 'c','d'])}
df2 = pd.DataFrame(d2)
print df2

df2['two'] = df2['one'].str.split(' ').str[0]
df2['three'] = df2['one'].str.split(' ').str[1]
print df2

# one two three
#a us 1 us 1
#b uk 2 uk 2
#c china 3 china 3
#d india 4 india 4

关于python - 如何在不将每个索引应用于每一行的情况下迭代数据框中的每一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34093189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com