首页 > 解决方案 > 如何在熊猫数据框的特定列中对每个数组中的每个数字进行舍入?

问题描述

我有一个看起来像这样的熊猫数据框:

FileName    Num     A                           B                 
FileName1   3       [19.19047, ..., 1023.29384] [188.49382, ..., 1252.94759] 
FileName2   5       [52.39672, ..., 2104.93745] [472.94733, ..., 2457.84753] 
FileName3   4       [18.02747, ..., 1532.84729] [356.99482, ..., 2018.34852] 

如何将 A 列和 B 列中的数组中的每个数字四舍五入到小数点后两位?

如果我将 A 列或 B 列提取到它自己的数据框中,我可以使用[([round(j) for j in i]) for i in A],但我想避免提取任何内容。

标签: pythonpandasdataframerounding

解决方案


尝试这个:

df[['A', 'B']] = df[['A', 'B']].apply(lambda x: [np.round(i, 2) for i in x ])
print(df)

    FileName                 A                  B
0  FileName1  [19.19, 1023.29]  [188.49, 1252.95]

推荐阅读