pandas 匹配excel有小数点的数字
时间: 2023-10-20 22:22:42 浏览: 112
可以使用正则表达式匹配带小数点的数字,然后使用 Pandas 的 str.extract() 方法提取匹配的数字。
例如,假设我们有一个包含数字的 Excel 文件,其中一列包含带小数点的数字。我们可以使用以下代码读取文件并提取该列中的数字:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('example.xlsx')
# 提取带小数点的数字
pattern = r'\d+\.\d+'
df['numbers'] = df['column_with_numbers'].str.extract(pattern)
```
在上面的代码中,我们使用正则表达式模式 `\d+\.\d+` 匹配带小数点的数字。然后,我们使用 Pandas 的 str.extract() 方法提取匹配的数字,并将其保存到一个新列中。
相关问题
pandas 匹配excel小数点前两位
可以使用 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()` 方法输出了前五行的结果。
pandas 筛选excel某表头小数点前两位数据
可以使用 pandas 的 str 属性和正则表达式来实现:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('example.xlsx')
# 筛选表头小数点前两位数据
pattern = r'^\d{1,2}\.' # 匹配小数点前两位数字
mask = df.columns.str.contains(pattern)
df_filtered = df.loc[:, mask]
# 输出筛选结果
print(df_filtered)
```
其中,`df.columns.str.contains(pattern)` 返回一个布尔型数组,表示每个表头是否匹配正则表达式。使用 `df.loc[:, mask]` 把匹配的表头所在的列筛选出来。
阅读全文