如何格式化 pandas 中的不同值?
How format different values in pandas?
我有一列数据框,其中包含 1000 多种不同格式的值。
我如何格式化这些以便拥有像这样的统一视图 1.000.000.
Sales
1.000.000
10000000
150,250
0,200655
例如:
- 第 1 行是需要的视图
- 第 2 行 10000000 应该是 10.000.000
- 第 3 行 150,250 应该是 150.250
- 第 4 行 0,200655 应该是 200.655
对于您的输入,这应该有效:
df['Sales'] = ["{:,}".format(int(num.replace('.', '').replace(',', ''))).replace(',', '.') for num in df['Sales']]
这里我们:
- 获取 Sales 列中的每个元素并删除“,”和“.”即“150,250”->“150250”
- 然后将字符串转换为
int
即'150250' -> 150250
- 然后使用
"{:,}".format()
将 int
格式化为带逗号的字符串,即 150250 -> '150,250'
- 在这个转换后的字符串中,我们将逗号“,”替换为句点“.”即“150,250”->“150.250”
- 用结果创建一个数组并将其分配给 Dataframe 的 Sales 列
输入:
Sales
0 1.000.000
1 10000000
2 150,250
3 0,200655
输出:
Sales
0 1.000.000
1 10.000.000
2 150.250
3 200.655
我有一列数据框,其中包含 1000 多种不同格式的值。 我如何格式化这些以便拥有像这样的统一视图 1.000.000.
Sales
1.000.000
10000000
150,250
0,200655
例如:
- 第 1 行是需要的视图
- 第 2 行 10000000 应该是 10.000.000
- 第 3 行 150,250 应该是 150.250
- 第 4 行 0,200655 应该是 200.655
对于您的输入,这应该有效:
df['Sales'] = ["{:,}".format(int(num.replace('.', '').replace(',', ''))).replace(',', '.') for num in df['Sales']]
这里我们:
- 获取 Sales 列中的每个元素并删除“,”和“.”即“150,250”->“150250”
- 然后将字符串转换为
int
即'150250' -> 150250 - 然后使用
"{:,}".format()
将int
格式化为带逗号的字符串,即 150250 -> '150,250' - 在这个转换后的字符串中,我们将逗号“,”替换为句点“.”即“150,250”->“150.250”
- 用结果创建一个数组并将其分配给 Dataframe 的 Sales 列
输入:
Sales
0 1.000.000
1 10000000
2 150,250
3 0,200655
输出:
Sales
0 1.000.000
1 10.000.000
2 150.250
3 200.655