python如何将Dataframe中的object转为百分数
时间: 2024-02-21 15:59:57 浏览: 72
Python如何输出百分比
要将Dataframe中的 object 类型转化为百分数,需要先将 object 类型转化为 float 类型,然后将 float 类型转化为百分数。示例代码如下:
```python
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({'A': [0.1, 0.2, 0.3],
'B': ['0.4', '0.5', '0.6'],
'C': [0.7, '0.8', '0.9']})
# 将object类型转化为float类型
df['B'] = df['B'].astype(float)
df['C'] = pd.to_numeric(df['C'], errors='coerce')
# 将float类型转化为百分数
df['A'] = df['A'].apply(lambda x: '{:.0%}'.format(x))
df['B'] = df['B'].apply(lambda x: '{:.0%}'.format(x))
df['C'] = df['C'].apply(lambda x: '{:.0%}'.format(x) if pd.notnull(x) else None)
print(df)
```
输出结果:
```
A B C
0 10% 40% 70%
1 20% 50% 80%
2 30% 60% 90%
```
在上述示例中,`astype(float)` 将 object 类型转化为 float 类型,`pd.to_numeric(df['C'], errors='coerce')` 也是将 object 类型转化为 float 类型的方法。`apply` 方法中的 `'{:.0%}'.format(x)` 表示将 float 类型转化为字符串类型的百分数,保留0位小数。注意,如果列中有缺失值,需要使用 `pd.notnull` 判断,避免将缺失值转化为百分数。
阅读全文