为什么我的孩子数据帧.loc返回错误的行?

2024-05-16 07:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个CSV文件,看起来像这样:

          IncidntNum    Category  
0         150060275     NON-CRIMINAL   
1         150098210          ROBBERY   
2         150098210          ASSAULT 
3         150098213          ASSAULT

我想获取包含特定Category的所有行,例如“突击”,所以我尝试这样做:

with open("file.csv", 'r') as f:
    data = pd.read_csv(f)
    crimes = data.loc[['Category'] == 'ASSAULT']

但它只给了我一行包含“非犯罪”,这显然是不对的。在尝试获取数据时,我做错了什么?你知道吗

编辑:我自己解决了这个问题,结果我打错了。你知道吗

相反,这句话应该说:

crimes = data.loc[data['Category'] == 'ASSAULT']

不是我两行都有“袭击”


Tags: 文件csvdatawithopenlocfilenon
2条回答

我自己解决了这个问题,结果我打错了。你知道吗

相反,这句话应该说:

crimes = data.loc[data['Category'] == 'ASSAULT']

不是我两行都有“攻击”。你知道吗

试试看本文件:你知道吗

df = pandas.read_csv('csvfile.txt', index_col=False, header=0);
print df[df['Category'] == 'ASSAULT')] #To filter on the basis of single value.
print df[df['A'].isin(['ASSAULT','ROBBERY'])] ##To filter on the basis of multiple values.

相关问题 更多 >