首页 > 解决方案 > 同时在两个数据帧中应用 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])

但它返回给我一个地图对象,我不知道该怎么做。谢谢。

标签: pythonpandas

解决方案


astype我相信您需要将输出转换为具有功能的数据框列表:

dfs = list(map(lambda x: x.astype(float), [df1, df2]))

推荐阅读