如何将dataframe中的数字转换加千位符,非数字保持不变
时间: 2024-03-01 08:55:17 浏览: 62
你可以使用 pandas 库中的 applymap() 方法和 format() 方法来实现将 dataframe 中的数字转换加千位符,非数字保持不变的功能。具体实现步骤如下:
1. 首先定义一个函数,该函数接收一个值作为参数,判断该值是否为数字,如果是数字则使用 format() 方法将其转换为加千位符的字符串,否则直接返回原值。
2. 然后使用 applymap() 方法将该函数应用于 dataframe 中的每个元素,从而实现对 dataframe 中的数字进行加千位符的转换,非数字保持不变。
下面是示例代码:
``` python
import pandas as pd
# 定义转换函数
def format_number(x):
if isinstance(x, (int, float)):
return format(x, ',')
else:
return x
# 创建示例 dataframe
df = pd.DataFrame({'A': [1000, 2000, 'abc'], 'B': [3000, 'def', 4000]})
# 使用 applymap() 方法将转换函数应用于 dataframe 中的每个元素
df = df.applymap(format_number)
# 输出转换后的 dataframe
print(df)
```
输出结果如下:
```
A B
0 1,000 3,000
1 2,000 def
2 abc 4,000
```
可以看到,示例中的 dataframe 中的数字已经成功转换为加千位符的字符串,非数字保持不变。
阅读全文