如何在一个数据框中拆分多个日期

埃尔瓦迪

我正在以csv格式处理数据集。观察数为“ 22255”,变量(列)数为“ 35”。该数据集包括三个包含日期的变量“ founded_at”,“ first_funding_at”和“ last_funding_at”。

这是数据集的示例:

founded_at      first_funding_at    last_funding_at
12/1/2005          5/3/2011            5/3/2011
1/1/2007           8/1/2007            3/8/2008
7/1/2007           3/1/2008            3/1/2009
9/1/2007           10/1/2009           8/1/2010
4/2/2009           1/1/2009            6/27/2014
1/1/2010           11/6/2013           11/6/2013

我想将所有这些日期拆分为“年”,“周”,“日”,“季度”,“周日”,“周年”,“日名”和“周末”。我尝试通过下面的代码执行此操作,但是它不起作用。我在pandas._libs.hashtable.PyObjectHashTable.get_item KeyError:“ feat”中收到此错误“文件“ pandas_libs \ hashtable_class_helper.pxi”,行1627。

#Import packeges
import pandas as pd
# Read the dataset
df = pd.read_csv("Sales dataset - Vijay.csv", engine='python', parse_dates['founded_at','first_funding_at','last_funding_at'])

list1 = ["founded_at", "first_funding_at","last_funding_at"]

for feat in list1:
    #print (feat)
    df['Year'] = df[feat].dt.year
    df['Week'] = df[feat].dt.week
    df['Day'] =  df[feat].dt.day
    df['quarter'] = df['feat'].dt.quarter
    df['week_of_day'] = df['feat'].dt.dayofweek
    df['year_of_week'] = df['feat'].dt.weekofyear
    df['dayofweek_name'] = df['feat'].dt.day_name()
    df['weekend'] = np.where(df['feat'].isin(['Sunday','Saturday']),1,0)

我确实需要您的帮助来解决此错误。

迈克67

根据代码和错误,您使用的是字符串而不是循环变量:

for feat in list1:
    #print (feat)
    df['Year'] = df[feat].dt.year  # feat variable - correct
    df['Week'] = df[feat].dt.week
    df['Day'] =  df[feat].dt.day
    df['quarter'] = df['feat'].dt.quarter   # 'feat' string - wrong
    df['week_of_day'] = df['feat'].dt.dayofweek
    df['year_of_week'] = df['feat'].dt.weekofyear
    df['dayofweek_name'] = df['feat'].dt.day_name()
    df['weekend'] = np.where(df['feat'].isin(['Sunday','Saturday']),1,0)

看起来您正在覆盖循环中的相同列。

完整的工作代码:

ss = '''
founded_at      first_funding_at    last_funding_at
12/1/2005          5/3/2011            5/3/2011
1/1/2007           8/1/2007            3/8/2008
7/1/2007           3/1/2008            3/1/2009
9/1/2007           10/1/2009           8/1/2010
4/2/2009           1/1/2009            6/27/2014
1/1/2010           11/6/2013           11/6/2013
'''.strip()

with open('data.csv','w') as f: f.write(ss)  # write test file

############### main script ################

import pandas as pd
import numpy as np
# Read the dataset
df = pd.read_csv("data.csv", engine='python', parse_dates=True, delim_whitespace=True)

list1 = ["founded_at", "first_funding_at","last_funding_at"]

for feat in list1:
    df[feat] = pd.to_datetime(df[feat])
    #print (feat)
    df[feat + '_' + 'Year'] = df[feat].dt.year
    df[feat + '_' + 'Week'] = df[feat].dt.week
    df[feat + '_' + 'Day'] =  df[feat].dt.day
    df[feat + '_' + 'quarter'] = df[feat].dt.quarter
    df[feat + '_' + 'week_of_day'] = df[feat].dt.dayofweek
    df[feat + '_' + 'year_of_week'] = df[feat].dt.weekofyear
    df[feat + '_' + 'dayofweek_name'] = df[feat].dt.day_name()
    df[feat + '_' + 'weekend'] = np.where(df[feat].dt.day_name().isin(['Sunday','Saturday']),1,0)
    
print(df)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多个数据框日期列合并为R中的一个堆叠日期列

来自分类Dev

如何在R中的一个csv excel文件的多个工作表中写入多个数据框?

来自分类Dev

根据来自另一个数据框的值将数据框拆分为多个数据框

来自分类Dev

如何创建一个数据框,它将在Python中给出多个数据框的摘要?

来自分类Dev

如何创建一个数据框,它将在Python中给出多个数据框的摘要?

来自分类Dev

熊猫:如何在一个列上合并具有相同列名的多个数据框?

来自分类Dev

如何创建多个数据框而又不重复一个数据框?

来自分类Dev

从R中的另一个数据框创建多个数据框

来自分类Dev

如果另一个数据框中缺少值,如何在一个数据框中删除一行?

来自分类Dev

根据另一个数据框中的日期过滤数据框中的值

来自分类Dev

按日期过滤另一个数据框中的数据框

来自分类Dev

如何在Highcharts中引用另一个系列中的一个或多个数据点

来自分类Dev

如何在一个查询Firebase中检索多个数据

来自分类Dev

如何在一个数据库中删除多个存储过程

来自分类Dev

如何在一个数据库调用中替换多个文档

来自分类Dev

如何在同一个对象中推送多个数据?

来自分类Dev

如何在Bokeh,Python 3.6中的一个图中绘制多个数据源?

来自分类Dev

如何在R中滞后一个数据帧的多个特定列

来自分类Dev

如何在一个图像中显示多个数据库行

来自分类Dev

如何在另一个表中获得多个数据的结果

来自分类Dev

如何在一个查询中从多个数据库中选择记录?

来自分类Dev

如何在一个仅用逗号分隔的 EditText 中输入多个数据?

来自分类Dev

将多个数据框列连接到一个数据框列下的单个数组中

来自分类Dev

如何在一个数据框中推算另一列数据中的列值

来自分类Dev

如何将一个数据框列拆分为多列

来自分类Dev

将日期与另一个数据框中的日期间隔匹配

来自分类Dev

如何在多个文本框中显示多条记录但来自同一个数据库 vb.net

来自分类Dev

Python Pandas如何将一个数据框的日期与另一个数据框的日期进行比较?

来自分类Dev

如何从具有不同日期时间索引的另一个数据框中获取列值

Related 相关文章

  1. 1

    如何将多个数据框日期列合并为R中的一个堆叠日期列

  2. 2

    如何在R中的一个csv excel文件的多个工作表中写入多个数据框?

  3. 3

    根据来自另一个数据框的值将数据框拆分为多个数据框

  4. 4

    如何创建一个数据框,它将在Python中给出多个数据框的摘要?

  5. 5

    如何创建一个数据框,它将在Python中给出多个数据框的摘要?

  6. 6

    熊猫:如何在一个列上合并具有相同列名的多个数据框?

  7. 7

    如何创建多个数据框而又不重复一个数据框?

  8. 8

    从R中的另一个数据框创建多个数据框

  9. 9

    如果另一个数据框中缺少值,如何在一个数据框中删除一行?

  10. 10

    根据另一个数据框中的日期过滤数据框中的值

  11. 11

    按日期过滤另一个数据框中的数据框

  12. 12

    如何在Highcharts中引用另一个系列中的一个或多个数据点

  13. 13

    如何在一个查询Firebase中检索多个数据

  14. 14

    如何在一个数据库中删除多个存储过程

  15. 15

    如何在一个数据库调用中替换多个文档

  16. 16

    如何在同一个对象中推送多个数据?

  17. 17

    如何在Bokeh,Python 3.6中的一个图中绘制多个数据源?

  18. 18

    如何在R中滞后一个数据帧的多个特定列

  19. 19

    如何在一个图像中显示多个数据库行

  20. 20

    如何在另一个表中获得多个数据的结果

  21. 21

    如何在一个查询中从多个数据库中选择记录?

  22. 22

    如何在一个仅用逗号分隔的 EditText 中输入多个数据?

  23. 23

    将多个数据框列连接到一个数据框列下的单个数组中

  24. 24

    如何在一个数据框中推算另一列数据中的列值

  25. 25

    如何将一个数据框列拆分为多列

  26. 26

    将日期与另一个数据框中的日期间隔匹配

  27. 27

    如何在多个文本框中显示多条记录但来自同一个数据库 vb.net

  28. 28

    Python Pandas如何将一个数据框的日期与另一个数据框的日期进行比较?

  29. 29

    如何从具有不同日期时间索引的另一个数据框中获取列值

热门标签

归档