pandas 匹配excel小数点前两位
时间: 2023-09-01 19:12:41 浏览: 76
可以使用 pandas 的 apply 方法和 lambda 表达式来实现匹配 excel 小数点前两位的操作。具体步骤如下:
1. 读取 Excel 文件为 pandas DataFrame 对象。
2. 对 DataFrame 中的数值列使用 apply 方法和 lambda 表达式,将小数点前两位取出来并转换为字符串类型。
3. 将得到的字符串类型的小数点前两位作为新的列添加到 DataFrame 中。
下面是示例代码:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 定义一个匹配小数点前两位的函数
def match_decimal(num):
return str(int(num * 100))[:2]
# 对数值列应用匹配函数,并将结果添加为新的列
for col in df.select_dtypes(include=['float', 'int']).columns:
df[col+'_2dp'] = df[col].apply(lambda x: match_decimal(x))
# 输出结果
print(df.head())
```
在上面的示例代码中,我们首先使用 `pd.read_excel()` 方法读取了一个名为 `data.xlsx` 的 Excel 文件为 pandas DataFrame 对象。然后,我们定义了一个名为 `match_decimal()` 的匹配小数点前两位的函数,它的作用是将小数点前两位取出来并转换为字符串类型。接着,我们使用 `df.select_dtypes(include=['float', 'int'])` 方法选择所有数值类型的列,并使用 for 循环对每一列应用匹配函数,并将得到的结果添加为新的列。最后,我们使用 `df.head()` 方法输出了前五行的结果。