如何舍入 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]
我有一个 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]