[英]What is the optimal way to create a new column in Pandas dataframe based on conditions from another row?
[英]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.