繁体   English   中英

通过对每一行进行操作,在数据框中创建列的“pandas”方法是什么?

[英]What is the `pandas` way to create a column in a dataframe by operating on each row?

我有一个apply函数,可以在我的数据帧中的每一行上运行。 apply函数的结果是一个新值。 此新值旨在进入该行的新列。

因此,在将此函数应用于数据框中的所有行之后,该数据框中将有一个全新的列。

我怎么在pandas这样做?

主要有两种方式:

df['new_column'] = df.apply(my_fxn, axis=1)

要么

df = df.assign(new_column=df.apply(my_fxn, axis=1))

如果你需要使用其他参数,你可以将它们传递给apply函数,但有时候(对我来说)使用lambda更容易:

df['new_column'] = df.apply(lambda row: my_fxn(row, global_dict), axis=1)

此外,如果您的函数可以以矢量化方式在数组上运行,您可以这样做:

df['new_column'] = my_fxn(df['col1'], df['col2'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM