繁体   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