如何在Python中的csv的所有列中获取特定类别的结果的datetime值?

格伦·韦加斯

我有一个包含20天用户社交媒体活动值的csv文件,我想获取第1天用户活动的详细信息,这是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-01第一(2020年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列包含datetime对象格式的值,我将其转换为pandas datetime格式

耶斯列尔

将值转换为新列,按过滤第一个日期boolean indexing,然后按DataFrame.melt和取消过滤list

df['d'] = pd.to_datetime(df['DateTime'], format='(%Y,%m,%d,%H,%M,%S)')

day1 = df['d'].dt.date[0]
df = df[df['d'].dt.date.eq(day1)] 

df = df.melt(['DateTime','d']) 
df = df[df['value'].eq('Y')] 


d = df.groupby('variable')['DateTime'].agg(list).to_dict()
print (d)
{'Facebook': ['(2020,09,01,10,01,00)', '(2020,09,01,10,02,00)', '(2020,09,01,10,03,00)'], 
 'Instagram': ['(2020,09,01,10,00,00)', '(2020,09,01,10,04,00)', '(2020,09,01,11,00,00)'], 
 'Twitter': ['(2020,09,01,10,00,00)', '(2020,09,01,10,01,00)', '(2020,09,01,10,04,00)']}

如果需要每个datetime嵌套字典的输出

df['d'] = pd.to_datetime(df['DateTime'], format='(%Y,%m,%d,%H,%M,%S)')

df = df.melt(['DateTime','d']) 
df = df[df['value'].eq('Y')] 

s = df.groupby([df['d'].dt.strftime('%Y-%m-%d'), 'variable'])['DateTime'].agg(list)
print (s)

d1 = {level: s.xs(level).to_dict() for level in s.index.levels[0]}
print (d1)
{'2020-09-01': {'Facebook': ['(2020,09,01,10,01,00)', '(2020,09,01,10,02,00)', '(2020,09,01,10,03,00)'], 
                'Instagram': ['(2020,09,01,10,00,00)', '(2020,09,01,10,04,00)', '(2020,09,01,11,00,00)'],
                'Twitter': ['(2020,09,01,10,00,00)', '(2020,09,01,10,01,00)', '(2020,09,01,10,04,00)']},
 '2020-09-02': {'Facebook': ['(2020,09,02,10,00,00)'], 
                'Instagram': ['(2020,09,02,10,00,00)'], 
                'Twitter': ['(2020,09,02,10,00,00)']}, 
 '2020-09-03': {'Facebook': ['(2020,09,03,10,00,00)'], 
                'Instagram': ['(2020,09,03,10,00,00)'], 
                'Twitter': ['(2020,09,03,10,00,00)']}}

print (d1['2020-09-01'])
{'Facebook': ['(2020,09,01,10,01,00)', '(2020,09,01,10,02,00)', '(2020,09,01,10,03,00)'], 
 'Instagram': ['(2020,09,01,10,00,00)', '(2020,09,01,10,04,00)', '(2020,09,01,11,00,00)'],
 'Twitter': ['(2020,09,01,10,00,00)', '(2020,09,01,10,01,00)', '(2020,09,01,10,04,00)']}

print (d1['2020-09-02'])
{'Facebook': ['(2020,09,02,10,00,00)'], 'Instagram': ['(2020,09,02,10,00,00)'], 'Twitter': ['(2020,09,02,10,00,00)']}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何选择特定类别的表格中的所有字段

来自分类Dev

如何在Rails中列出特定类别的所有名称?

来自分类Dev

如何在WordPress查询中获取所有分类类别的记录?

来自分类Dev

如何在Firebase中插入所有类别的名称?

来自分类Dev

如何在Codeigniter中获得父类别的所有子类别和孙类别?

来自分类Dev

如何在http请求python中获取所有结果

来自分类Dev

获取基于特定类别的所有标签(包括子类别和帖子中的所有标签)

来自分类Dev

获取基于特定类别的所有标签(包括子类别和帖子中的所有标签)

来自分类Dev

如何通过mysql在wordpress中获取所有类别的所有帖子?

来自分类Dev

如何从特定类别中获取所有 Unicode 字符?

来自分类Dev

从具有特定类别的div列表中获取div

来自分类Dev

如何在Jekyll中列出所有没有类别的帖子?

来自分类Dev

如何在列表和列中的特定键中获取所有唯一字典值?

来自分类Dev

如何在Wordpress中显示特定类别的帖子

来自分类Dev

如何在angular应用程序中显示具有特定类别的数组的.length

来自分类Dev

如何在MongoDB中查找具有最大值的给定类别的项目

来自分类Dev

获取特定类别的所有锚点的特定属性

来自分类Dev

如何从数组中的所有索引中获取特定值

来自分类Dev

如何基于R中另一列中的特定值获取特定列的所有值?

来自分类Dev

创建“查看所有帖子”链接以显示来自WordPress中特定类别的所有帖子

来自分类Dev

如何在laravel中插入具有多类别和多列不同类别的帖子?

来自分类Dev

如何在Laravel中获取字符串中的所有列值

来自分类Dev

如何在while循环中获取列的所有值并将这些值放入数组中

来自分类Dev

Java如何在特定键中获取所有映射值?

来自分类Dev

如何从excel列中获取所有值并将其放入python中的数组中?

来自分类Dev

在laravel中编辑类别时,如何显示特定类别的先前值?

来自分类Dev

在所选主要类别的所有子类别中获取所有产品的最佳方法是什么?

来自分类Dev

如何在MySQL表中显示具有特定列值的所有行?

来自分类Dev

如何在MySQL表中显示具有特定列值的所有行?

Related 相关文章

  1. 1

    如何选择特定类别的表格中的所有字段

  2. 2

    如何在Rails中列出特定类别的所有名称?

  3. 3

    如何在WordPress查询中获取所有分类类别的记录?

  4. 4

    如何在Firebase中插入所有类别的名称?

  5. 5

    如何在Codeigniter中获得父类别的所有子类别和孙类别?

  6. 6

    如何在http请求python中获取所有结果

  7. 7

    获取基于特定类别的所有标签(包括子类别和帖子中的所有标签)

  8. 8

    获取基于特定类别的所有标签(包括子类别和帖子中的所有标签)

  9. 9

    如何通过mysql在wordpress中获取所有类别的所有帖子?

  10. 10

    如何从特定类别中获取所有 Unicode 字符?

  11. 11

    从具有特定类别的div列表中获取div

  12. 12

    如何在Jekyll中列出所有没有类别的帖子?

  13. 13

    如何在列表和列中的特定键中获取所有唯一字典值?

  14. 14

    如何在Wordpress中显示特定类别的帖子

  15. 15

    如何在angular应用程序中显示具有特定类别的数组的.length

  16. 16

    如何在MongoDB中查找具有最大值的给定类别的项目

  17. 17

    获取特定类别的所有锚点的特定属性

  18. 18

    如何从数组中的所有索引中获取特定值

  19. 19

    如何基于R中另一列中的特定值获取特定列的所有值?

  20. 20

    创建“查看所有帖子”链接以显示来自WordPress中特定类别的所有帖子

  21. 21

    如何在laravel中插入具有多类别和多列不同类别的帖子?

  22. 22

    如何在Laravel中获取字符串中的所有列值

  23. 23

    如何在while循环中获取列的所有值并将这些值放入数组中

  24. 24

    Java如何在特定键中获取所有映射值?

  25. 25

    如何从excel列中获取所有值并将其放入python中的数组中?

  26. 26

    在laravel中编辑类别时,如何显示特定类别的先前值?

  27. 27

    在所选主要类别的所有子类别中获取所有产品的最佳方法是什么?

  28. 28

    如何在MySQL表中显示具有特定列值的所有行?

  29. 29

    如何在MySQL表中显示具有特定列值的所有行?

热门标签

归档