Python 在列中搜索特定短语,并计算它们在列中出现的次数,然后绘制为条形图
搜索一年中每个月的列。专栏的组织方式如下:“2018年1月1日”。我想知道“2018年1月”在专栏中出现了多少次。基本上是数一数,然后画在条形图上。我想让它显示“2018年1月”、“2018年2月”等的所有数量。在图表上应该是12条。可能使用计数或求和。我使用pandas和python从CSV中提取数据 我试着把它打印到控制台上,取得了一些成功。但我对搜索部分日期的正确方法感到困惑Python 在列中搜索特定短语,并计算它们在列中出现的次数,然后绘制为条形图,python,pandas,csv,matplotlib,seaborn,Python,Pandas,Csv,Matplotlib,Seaborn,搜索一年中每个月的列。专栏的组织方式如下:“2018年1月1日”。我想知道“2018年1月”在专栏中出现了多少次。基本上是数一数,然后画在条形图上。我想让它显示“2018年1月”、“2018年2月”等的所有数量。在图表上应该是12条。可能使用计数或求和。我使用pandas和python从CSV中提取数据 我试着把它打印到控制台上,取得了一些成功。但我对搜索部分日期的正确方法感到困惑 import pandas as pd import numpy as np import
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import csv
import seaborn as sns
data = pd.read_csv(r'C:\Users\rmond\Downloads\PS_csvFile1.csv', error_bad_lines=False, encoding="ISO-8859-1", skiprows=6)
cols = data.columns
cols = cols.map(lambda x: x.replace(' ', '_') if isinstance(x, (str)) else x)
data.columns = cols
print(data.groupby('Case_Date').mean().plot(kind='bar'))
我期待着一个条形图,将显示每个月的总数量。所以应该有12个条形图。但我不知道如何搜索该列12次,每次只搜索每个月的数据。不包括日期,只搜索月份和年份。IIUC,这是您需要的 让我们使用下面的数据帧作为输入数据帧
date
0 1/31/2018
1 2/28/2018
2 2/28/2018
3 3/31/2018
4 4/30/2018
5 5/31/2018
6 6/30/2018
7 6/30/2018
8 7/31/2018
9 8/31/2018
10 9/30/2018
11 9/30/2018
12 9/30/2018
13 9/30/2018
14 10/31/2018
15 11/30/2018
16 12/31/2018
下面提到的代码行将以条形图的形式获得每个月的计数数。当您有一个列作为datetime对象时,许多函数都非常简单&列的内容更加灵活。这样,您就不需要月份名称的搜索字符串了
df['date'] = pd.to_datetime(df['date'])
df['my']=df.date.dt.strftime('%b-%Y')
ax = df.groupby('my', sort=False)['my'].value_counts().plot(kind='bar')
ax.set_xticklabels(df.my, rotation=90);
输出
print(pd.value\u计数(数据['Case\u Date'].str.contains('2018年3月'))用它代替张贴在那里的内容。我想出了一个月怎么打电话。我现在需要弄清楚如何检查所有12个月的计数