首页 > 解决方案 > 如何使用 Pandas read_csv() 读取包含特定字符串的特定行?

问题描述

我想只整理下载 CSV 时要使用的列和行。

df = pd.read_csv("https://data.org/data.csv",usecols = ['Lion','Tree'])

我只能读取我想要的列,但是我如何才能读取例如“Lion”列包含“animal”一词的行?

标签: pythonpandasdataframe

解决方案


  • 如果您要求的是读取 csv 文件时过滤行,答案是没有内置的方法可以做到这一点。

  • 但是,当 csv 文件已加载到这样的 DataFrame 中时,您可以做您想做的事情:

df = df.loc[df['Lion'] == 'animal']

解释:

DataFrame.loc允许您通过标签或布尔数组访问一组行和列。

在这里,df['Lion'] == 'animal'将返回一个布尔数组,例如:

0    True
3    True

这意味着第 0 行和第 3 行匹配值等于字符串的条件'animal'

因此,loc将选择这些行 0 和 3。


推荐阅读