我有两个.csv格式的文件,这些文件没有任何列名,并且大小不一致。我想在第一个csv文件中选择包含至少一个与第二个csv文件相同的值或单词的行。我尝试了以下方法:
import pandas as pd
df1 =pd.read_csv("C:/Users/User/Desktop/Airtop_routings/ASEAN_20170601_VST_0000_without$.csv",header=None,low_memory=False,dtype=object)
df1.set_index(df1[0])
df2 = pd.read_csv("C:/Users/User/Desktop/Airtop_routings/Singapore Waypoints.csv",header=None,dtype=object)
df3=list(df2[0])
df1.loc[df1.isin(df3)]
但是我收到如下错误:
TypeError:“ float”和“ str”的实例之间不支持“ <”
例如:第一个csv文件
Apple mango parrot snake 100
Mango grapes tiger lion 200 snake bear
tiger apple jackal
第二个CSV文件
apple
tiger
lion
通过使用第二个csv文件,我想在第一个csv文件中选择行。任何人都可以帮助我,谢谢。
答案 0 :(得分:0)
使用:
df1 = pd.read_csv(file1)
df2 = pd.read_csv(file2)
pat = '|'.join(r"\b{}\b".format(x) for x in df2['column2'])
df = df1[df1["column1"].str.contains(pat)]