请简化我的代码或使它更高级的Python程序员

时间:2018-08-28 05:23:16

标签: python pandas dataframe

import pandas as pd
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [2, 3, 4]})

for i=0 to range(len(df))
    print(df.iloc[i]['col1'] + '-' + df.iloc[i]['col2'])

我想使用:(但它给我错误)

for d in df:
    print(d['col1'] + '-' + d['col2'])
# I want output
# 2-3
# 3-4

仅是简单的熊猫问题...

3 个答案:

答案 0 :(得分:2)

如果要按所有列循环:

for col in df:
    print(df[col])

是什么意思?

for col in df.columns:
    print(df[col])

或者如果需要按列col1的值循环:

for val in df['col1']:
    print(val)

答案 1 :(得分:2)

IIUC:

您要打印列'col1'的每一行

print(*df.col1, sep='\n')

答案 2 :(得分:0)

for index, row in df.iterrows():
     print(row['col1'], row['col2'])

感谢@Jezrael link,我能够将代码更改为更具前瞻性的代码,而不是我的代码,有点老式的大声笑

请“单击”以检查答案是否正确。

Zip方法也可以纠正,但是它将限制代码的灵活性。例如,我可以再次将数据以不同的顺序转换为string.format。因此,迭代是实现此目标的方法。虽然,我已经用旧代码完成了我的项目。但是我还是将其更改为新的正确方法。