pandas apply 浮点数转字符串并保留两位小数点
时间: 2023-07-31 10:10:39 浏览: 111
可以使用 apply 函数结合 lambda 表达式来实现将浮点数转换为字符串并保留两位小数点的操作。
示例代码如下:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': [1.23456789, 2.34567890], 'B': [3.45678901, 4.56789012]})
# 定义转换函数
def float_to_str(x):
return '{:.2f}'.format(x)
# 使用 apply 函数将浮点数转换为字符串并保留两位小数点
df = df.apply(lambda x: x.apply(float_to_str))
print(df)
```
输出结果如下:
```
A B
0 1.23 3.46
1 2.35 4.57
```
相关问题
pandas保留小数点后两位
可以使用 Pandas 中的 round() 函数来保留小数点后两位。下面是一个例子:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 保留小数点后两位
df = df.round(2)
# 显示数据
print(df)
```
在这个例子中,我们首先使用 Pandas 的 read_csv() 函数读取了一个 CSV 文件,然后使用 round() 函数将所有数据保留小数点后两位,最后使用 print() 函数显示了处理后的数据。
pandas字符串中只保留数字、‘*’和小数点
要在pandas字符串中只保留数字、星号(*)和小数点,您可以使用`str.replace()`方法结合正则表达式来实现。下面是一个示例代码:
```python
import pandas as pd
# 创建一个包含特殊字符的示例Series
data = pd.Series(['Hello123!', '4.56*How are you?', 'I\'m fine.'])
# 使用正则表达式匹配除了数字、星号和小数点之外的所有字符,并替换为空字符串
data = data.str.replace('[^0-9*.]', '')
# 打印处理后的结果
print(data)
```
运行上述代码后,您将得到如下输出:
```
0 123
1 4.56*
2
dtype: object
```
在这个示例中,`[^0-9*.]`是一个正则表达式模式,用于匹配除了数字、星号和小数点之外的所有字符。`str.replace()`方法将匹配到的字符替换为空字符串,从而只保留数字、星号和小数点。
请注意,上述代码中的`data`是一个`pandas`的`Series`对象,您可以根据实际情况将其替换为`DataFrame`中的某一列或其他字符串数据。