我需要通过绘制相同的时间值来了解频率是如何变化的。特别是不同用户通过时间生成的帖子。我的数据集如下所示:
GENDER POST DATE COUNTER
0 men (post 103) 36 43
1 men (post 109) 38 2
2 men (post 116) 41 12
3 men (post 119) 42 32
4 men (post 124) 44 2
.. ... ... ... ...
82 women (post 83) 29 34
83 women (post 86) 30 2
84 women (post 86) 65 9
85 women (post 91) 32 5
86 women (post 99) 35 5
其中日期为数字(序列号而非日期格式) 我最初的想法是使用seaborn选择我感兴趣的专栏:
from matplotlib import pyplot
import seaborn
fg = seaborn.FacetGrid(data=df_, hue='GENDER', aspect=1.61)
fg.map(pyplot.scatter, 'DATE', 'COUNTER').add_legend()
但是为了得到如下图所示的情节:
我想我应该考虑一个时间序列,以便通过时间追踪帖子。 在每个图的x轴上有日期(DATE
),在y轴上有帖子的频率(COUNTER
)我考虑用于此分析的csv文件包括以下列:
file = '...'
with open(file, newline='') as csvfile:
df = csv.reader(csvfile, delimiter=';', quotechar='|')
for row in df:
print(' '.join(row))
df = pd.read_csv(file, sep=';') # or your sep in file
df.columns = [' ', 'GENDER', 'POST', 'DATE', 'COUNTER',' ']
非常感谢你抽出时间来帮助我
更新:
GENDER POST DATE COUNTER
0 (man 8) (post 4) 0 0 NaN
1 (woman 13) (post 1) 2 0 NaN
2 (man 14) (post 7) 2 2 NaN
3 (man 8) (post 4) 4 1 NaN
4 (woman 19) (post 12) 4 1 NaN
首先,让我们过滤您的数据帧,这样您就只有少数帖子了:
那么,像这样的事情应该做:
如果不关心置信区间,可以将
ci=None
添加到sns
调用中,这将使代码运行更快相关问题 更多 >
编程相关推荐