python - 同时在两个数据帧中应用 lambda 函数
问题描述
我有两个数据框,我想同时在它们两个中应用一个 lambda 函数。它们是字符串。
df1:
A B C
0 1 1 2
1 2 0 0
2 1 2 2
3 1.5 1 3
df2:
A B
0 3 1
1 4 5
2 2.7 2
3 3.1 4
就像是 :
df1["A"] = df1["A"].apply(lambda x: float(x))
df2["A"] = df2["A"].apply(lambda x: float(x))
只有一行。我听说我可以使用类似的东西:
map(lambda x: x.query(float(x)), [df1, df2])
但它返回给我一个地图对象,我不知道该怎么做。谢谢。
解决方案
astype
我相信您需要将输出转换为具有功能的数据框列表:
dfs = list(map(lambda x: x.astype(float), [df1, df2]))