[英]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.