使用具有数据类型的 dict 转换 Pandas 数据帧列的数据类型的最佳方法是什么?
例如,我有一个数据框 df:
d = {'col1': ["1", "abc"], 'col2': ["abc", "02-02-2021"]}
df = pd.DataFrame(data=d)
我有一个字典:
dtype_dict = { "col1": int
"col2": datetime}
当列中的值无法转换为正确的数据类型时,我需要将其设置为 NaN(与 pd.to_numeric 中的 errors = 'coerce' 参数类似的行为)
预期输出:
d_out = {'col1': [1, NaN], 'col2': [NaN, 02-02-2021]}
df_out = pd.DataFrame(data=d)
我的真实数据集包含多个大熊猫数据框和相应的字典。所以我正在寻找一种自动转换完整数据帧的方法。
谢谢!
如果你稍微修改你的字典,你可以使用:
from functools import partial
dtype_dict = { "col1": partial(pd.to_numeric, errors='coerce'),
"col2": partial(pd.to_datetime, errors='coerce')}
out = df.agg(dtype_dict)
>>> out
col1 col2
0 1.0 NaT
1 NaN 2021-02-02
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句