|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
从csv中提取出了一列数组,想统计不同日期出现的个数,该如何实现呢?(后续还想画直方图)
['date', '2015-01-02', '2015-01-02', '2015-01-03', '2015-01-04', '2015-01-04', '2015-01-04', '2015-01-05', '2015-01-06', '2015-01-06', '2015-01-06', '2015-01-06', '2015-01-07', '2015-01-07', '2015-01-07', '2015-01-07', '2015-01-08', '2015-01-08', '2015-01-08', '2015-01-08', '2015-01-09', '2015-01-09', '2015-01-11', '2015-01-11', '2015-01-11', '2015-01-13', '2015-01-13', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-15', '2015-01-15', '2015-01-15', '2015-01-15', '2015-01-15', '2015-01-16', '2015-01-16', '2015-01-17', '2015-01-17', '2015-01-17']
统计数组中不同元素的个数和绘制直方图的步骤如下:
1. 导入必要的库: 首先,你需要导入一些用于数据处理和绘图的库。在 Python 中,常用的库有 numpy 和 matplotlib,你可以使用以下命令安装它们:
- pip install numpy matplotlib
-
复制代码
2. 定义数组: 将你提取出的列数组赋值给一个变量,比如 dates:
- dates = ['2015-01-02', '2015-01-02', '2015-01-03', '2015-01-04', '2015-01-04', '2015-01-04', '2015-01-05', '2015-01-06', '2015-01-06', '2015-01-06', '2015-01-06', '2015-01-07', '2015-01-07', '2015-01-07', '2015-01-07', '2015-01-08', '2015-01-08', '2015-01-08', '2015-01-08', '2015-01-09', '2015-01-09', '2015-01-11', '2015-01-11', '2015-01-11', '2015-01-13', '2015-01-13', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-14', '2015-01-15', '2015-01-15', '2015-01-15', '2015-01-15', '2015-01-15', '2015-01-16', '2015-01-16', '2015-01-17', '2015-01-17', '2015-01-17']
-
复制代码
3. 计数元素个数: 使用 Python 的 collections 模块中的 Counter 方法可以轻松地统计列表中各元素的出现次数。
- from collections import Counter
- date_counts = dict(Counter(dates))
-
复制代码
4. 输出统计结果: 可以使用循环遍历字典,并输出每个日期和对应的出现次数。
- for date, count in date_counts.items():
- print(f"{date}: {count}")
-
复制代码
这将输出每个日期和它们出现的次数,例如:
[/code]
2015-01-02: 2
2015-01-03: 1
2015-01-04: 3
...
[/code]
5. 绘制直方图: 使用 matplotlib 库绘制直方图。首先,导入必要的模块:
- import matplotlib.pyplot as plt
-
复制代码
然后,使用以下代码绘制直方图:
- plt.bar(date_counts.keys(), date_counts.values())
- plt.xlabel('Date')
- plt.ylabel('Count')
- plt.title('Date Count Histogram')
- plt.xticks(rotation=45) # 可选,将日期标签进行旋转,让它们更容易阅读
- plt.show()
-
复制代码
这将显示一个带有日期和对应计数的直方图。
希望这个解答对你有帮助!如果你还有其他问题,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要! 
|
|