如何舍入 pandas 数据框特定列中每个数组中的每个数字?

How can I round each number in each array in specific columns of a pandas dataframe?

我有一个 pandas 数据框,如下所示:

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],但我想避免提取任何内容。

您可以简单地使用 np.round 一次舍入整个数组。

试试这个,

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

试试这个:

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]