簡體   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