簡體   English   中英

python數據框:在apply lambda中返回列名

[英]python dataframe: return column name in apply lambda

我想使用apply(applymap) 和 lambda函數來獲取dfx (數據)中每個元素的列名。 lambda函數用於將另一個數據幀映射到dfx 中,之后將對其進行重寫。

文件

             A     B    C
2011-01-10   123   12   123 
2011-01-10   12    32   312
2011-01-11   44    1    30.99   

偽代碼

output = dfx.apply(lambda r:r.column)

我不知道如何寫這部分“r:r.column”

預期輸出

             A    B    C
2011-01-10   A    B    C 
2011-01-10   A    B    C
2011-01-11   A    B    C  

任何幫助都非常受歡迎! 非常感謝!!

您可以通過pd.DataFrame.iloc進行分配:

df.iloc[:] = df.columns

print(df)

            A  B  C
2011-01-10  A  B  C
2011-01-10  A  B  C
2011-01-11  A  B  C

當您apply一個函數時,該函數將一個對應於一行的Series作為參數。 你可以通過傳遞kwarg更改為一列axis=1apply Series沒有列(軸 1) - 只有索引(軸 0)。 相反,您可以使用原始 DataFrame:

dfx.apply(lambda s: dfx.columns, axis=1)

返回

            A  B  C
2011-01-10  A  B  C
2011-01-10  A  B  C
2011-01-11  A  B  C

注意:當然有更好的方法可以不按需要“使用 apply 和 lambda 函數”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM