【问题标题】:observe pandas dataframe rows in loop在循环中观察熊猫数据框行
【发布时间】:2020-01-22 02:22:43
【问题描述】:

我正在尝试在循环中逐行读取数据帧。

有一个数据框df['col_1', 'col_2', 'col_n'],还有一个函数f(df),它把数据框的一行作为参数。

有人可以帮助我编写代码以在循环中逐行读取数据帧并将f() 函数应用于每一行。

PS:这里,函数f()的输入值必须是一个数据框,因为它处理引用列名的数据。

谢谢!

【问题讨论】:

标签: python loops dataframe


【解决方案1】:

如果我正确理解您的问题,此代码适合您:

def f(row):
    return str(row['A'] + 1) + str(row['B']).upper()

df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})

df['new_col'] = df.apply(lambda row: f(row),axis=1)
# output
   A  B new_col
0  1  x      2X
1  2  y      3Y
2  3  z      4Z

或者如果你想更新行值:

def f2(row):
    row['A'] = row['A'] + 1
    row['B'] = row['B'].upper()
    row['new_col'] = str(row['A']) + str(row['B'])
    return row
df.apply(f2, axis=1)
#output
   A  B new_col
0  2  X      2X
1  3  Y      3Y
2  4  Z      4Z

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 2022-01-08
    相关资源
    最近更新 更多