【发布时间】:2021-11-15 21:10:53
【问题描述】:
读取和附加excel文件以创建DataFrame:
import pandas as pd
import os
folder = r'C:\mypathtodocuments'
files = os.listdir(folder)
df = pd.DataFrame()
for file in files:
if file.endswith('.xlsx'):
df = df.append(pd.read_excel(os.path.join(folder,file)))
#Drop extra columns from wrong data
df1 = df[['FIRST_NM', 'LAST_NM', 'CITY_AD']]
CITY_AD专栏预览:
>>> df1["CITY_AD"]
0 EL PASO
1 HOUSTON
2 HOUSTON
3 CONROE
4 MCKINNEY
5 MCKINNEY
6 KATY
7 TOMBALL
8 TOMBALL
9 SPRING
10 SPRING
使用 .isin() 函数过滤 DataFrame 以仅包含城市 HOUSTON 和 CONROE:
df1[df1["CITY_AD"].isin(["HOUSTON","CONROE"])]
这会返回一个空集...我怎样才能让它正确过滤?
【问题讨论】:
-
提供一个包含原始数据框的可重现示例。
-
鉴于这是来自 excel 文件,是否可能在列中有额外的不可打印字符?例如,可能是
" HOUSTON"或"HOUSTON "?print(df1.head().to_dict())的输出真的很有帮助。 -
尝试在
isin行之前添加这一行:df1["CITY_AD"] = df1["CITY_AD"].str.strip()@Joe
标签: python pandas dataframe isin