如何在某些列值上按行过滤多个csv文件

时间:2019-01-21 09:42:12

标签: python csv dataframe row filtering

我正在编写一个代码,在其中使用包含来自不同出版物的评论的csv文件,该出版物是csv文件中的第3列。我必须选择出版物为“纽约时报”或“大西洋”的行。如何同时对多个csv文件执行此操作?我将csv文件(数据包含3个文件)加载到数据帧字典中。这就是我加载数据的方式:

filenames = glob('articles*.csv') 

dataframe_dict = {}
for i in filenames:
    dataframe_dict[i] = pd.read_csv(i, sep = ',', header = None)

print(dataframe_dict['articles1.csv'])

2 个答案:

答案 0 :(得分:0)

您可以看看dataframe.query()
请注意,您可能需要将标题设置为function sum(a, b) { return a.map((v, i) => Array.isArray(v) ? sum(v, b[i]) : v + b[i]); } console.log(sum([[230], [10], [12]], [[50], [60], [89]]))

尝试:

True

答案 1 :(得分:0)

这是您可以使用的其他一些代码,它们以布尔值返回所需的索引,然后将其用于约束框架。

dataframe_dict_filtered_idx = dataframe_dict['articles1.csv'][3] == 'New York Times'
dataframe_dict_filtered_idx2 = dataframe_dict['employeesDetails.csv'][3] == 'Atlantic'

dataframe_dict_filtered = dataframe_dict['articles1.csv'][dataframe_dict_filtered_idx | dataframe_dict_filtered_idx2]