如何用pandas库从没有表头列名的csv文件中根据其第5第6列与txt文件中第5第6列具有各自相同数据的条件筛选出包含第5第6行在内的一整行
时间: 2024-02-17 19:03:32 浏览: 112
python3使用pandas1.5.3给csv文件添加一列数据
你好,可以使用pandas库中的read_csv函数读取csv文件,然后指定header参数为None表示文件没有表头列名,再通过iloc方法选择第5、6列进行比较,最后使用isin函数筛选出与txt文件中第5、6列具有各自相同数据的行,代码如下:
```python
import pandas as pd
# 读取csv文件,指定header为None
df = pd.read_csv('file.csv', header=None)
# 选择第5、6列进行比较
cols = [4, 5]
df_sel = df.iloc[:, cols]
# 读取txt文件,选择第5、6列进行比较
df_txt = pd.read_csv('file.txt', header=None, delimiter='\t')
df_txt_sel = df_txt.iloc[:, cols]
# 筛选出与txt文件中第5、6列具有各自相同数据的行
result = df[df_sel.isin(df_txt_sel.to_dict('list')).all(axis=1)]
# 输出结果
print(result)
```
其中,to_dict('list')函数将DataFrame对象转换为字典,方便使用isin函数进行比较。delimiter参数用于指定txt文件的分隔符。
阅读全文