给出了一个包含字符串的Python列表和一个具有X、Y、Z列的Pandas DataFrame。我需要顺序地查询列Y == mylist[index]
所在的dataframe中X列的值。我尝试了以下几点,但没有结果:
filelist = glob.glob('/somedir/*.txt')
for f in filelist:
f = os.path.basename(f)
df.loc[df['Y'] == f, 'X'].item()
发布于 2018-04-18 08:56:28
要获得df.X
,df.Y
的值在某些列表中,可以使用pandas.Series.isin()
df[df['Y'].isin([os.path.basename(f) for f in filelist])]['X']
要迭代结果,可以使用pandas.Series.values
for x in df[df['Y'].isin([os.path.basename(f) for f in filelist])]['X'].values:
print x
或者,根据您想要对结果做什么,可以使用.apply()
df[df['Y'].isin([os.path.basename(f) for f in filelist])]['X'].apply(some_function)
https://stackoverflow.com/questions/49905011
复制相似问题