使用pandas在csv中发生python计数

时间:2017-12-27 00:05:54

标签: python pandas

我是Python的新手,我正在尝试处理一个小项目并且有点困惑。

我有2个csv文件,如下所示:

all_cars:

first_Car,second_car
Mazda, Skoda
Ferrari, Volkswagen
Volkswagen, Toyota
BMW, Ferrari
BMW, Mercedes

super_cars:

super_car_name
Ferrari
BMW
Mercedes

我基本上想要做的只是计算文件1中文件2中的汽车的次数。如果汽车仅代表文件1而不是文件2,我不会想要它。

我根据我的示例文件尝试做的是:

Ferrari : 2
BMY : 2
Mercedes : 1

2 个答案:

答案 0 :(得分:2)

我这样做:

hive> select date_format(from_unixtime(epoch_datetime), 'yyyy-MM-dd') as day from table_name limit 20;

-- If required, remove the millis precision for timestamps
hive> select date_format(from_unixtime(cast(epoch_datetime/1000 as bigint)), 'yyyy-MM-dd') as day from table_name limit 20;

其中In [220]: d1.stack().value_counts().to_frame('car').loc[d2.super_car_name] Out[220]: car Ferrari 2 BMW 2 Mercedes 1 d1 - 您的源DataFrames(可以使用d2方法从CSV文件轻松解析):

pd.read_csv()

答案 1 :(得分:2)

您可以使用isin查找匹配项,然后使用stackvalue_counts将所有内容放入一个表格中:

df1[df1.isin(df2.super_car_name.values)].stack().value_counts()

Ferrari     2
BMW         2
Mercedes    1
dtype: int64