python将object转为百分数
时间: 2023-09-28 08:05:35 浏览: 142
如果你的DataFrame中有字符串类型的百分数,你可以使用 `str.strip` 方法去除百分号,并将字符串转化为浮点数,然后除以100转化为小数。示例代码如下:
```python
import pandas as pd
# 创建一个包含字符串类型百分数的示例DataFrame
df = pd.DataFrame({'A': ['30%', '50%', '70%'],
'B': ['80%', None, '90%']})
# 将字符串类型百分数转化为浮点数类型的小数
df['A'] = df['A'].str.strip('%').astype(float) / 100
df['B'] = df['B'].str.strip('%').astype(float) / 100
# 将浮点数类型的小数转化为字符串类型的百分数
df['A'] = df['A'].apply(lambda x: '{:.0%}'.format(x))
df['B'] = df['B'].apply(lambda x: '{:.0%}'.format(x) if pd.notnull(x) else None)
print(df)
```
输出结果:
```
A B
0 30% 80%
1 50% None
2 70% 90%
```
在上述示例中,`str.strip('%').astype(float) / 100` 表示先使用 `str.strip` 方法去除百分号,并将字符串转化为浮点数,然后除以100转化为小数。`apply` 方法中的 `'{:.0%}'.format(x)` 表示将小数转化为字符串类型的百分数,保留0位小数。注意,如果列中有缺失值,需要使用 `pd.notnull` 判断,避免将缺失值转化为百分数。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)