我有一个 csv 文件,其中包含 20 天内用户社交媒体活动的值 我想获取第一天用户活动的详细信息 以下是 csv 中条目的示例
DateTime Instagram Facebook Twitter
(2020,09,01,10,00,00) Y N Y
(2020,09,01,10,01,00) N Y Y
(2020,09,01,10,02,00) N Y N
(2020,09,01,10,03,00) N Y N
(2020,09,01,10,04,00) Y N Y
(2020,09,01,11,00,00) Y N N
(2020,09,02,10,00,00) N Y Y
(2020,09,02,10,00,00) Y N N
(2020,09,02,10,00,00) N N N
(2020,09,03,10,00,00) Y Y Y
Y 代表用户处于活动状态,N 代表用户处于非活动状态 我想显示第一天(即2020-09-012020 年 9 月 1 日)所有应用程序的活动统计信息。
所以我希望结果看起来像这样(只有用户在该应用程序上处于活动状态(Y)的日期时间值)
{'Instagram':[(2020,09,01,10,00,00),(2020,09,01,10,04,00),(2020,09,01,11,00,00)],
'Facebook':[(2020,09,01,10,01,00), (2020,09,01,10,02,00), (2020,09,01,10,03,00)],
'Twitter':[(2020,09,01,10,00,00), (2020,09,01,10,01,00), (2020,09,01,10,04,00)]}
我写了一段代码,但它没有提供我想要的结果
df['DateTime'] = pd.to_datetime(df['DateTime'], format='(%Y,%m,%d,%H,%M,%S)')
for idx, d in df.groupby(df['DateTime'].dt.date):
print(d.drop('DateTime', axis=1).to_dict('list'))
This was the result I got
{'Instagram': ['Y', 'N', 'N', 'N', 'Y', 'Y'], 'Facebook': ['N', 'Y', 'Y', 'Y', 'N', 'N'], 'Twitter': ['Y', 'Y', 'N', 'N', 'Y', 'N']}
{'Instagram': ['N', 'Y', 'N'], 'Facebook': ['Y', 'N', 'N'], 'Twitter': ['Y', 'N', 'N']}
{'Instagram': ['Y'], 'Facebook': ['Y'], 'Twitter': ['Y']}
DateTime 列由日期时间对象格式的值组成,我将其转换为 pandas 日期时间格式
汪汪一只猫
慕森卡
相关分类