【发布时间】:2020-12-31 04:35:31
【问题描述】:
我正在处理 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 中收到此错误“文件“pandas_libs\hashtable_class_helper.pxi”,第 1627 行 KeyError: '壮举'"
#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)
我真的需要你的帮助来解决这个错误。
【问题讨论】:
-
数据集中是否有名为
feat的列?或者你有一个名为feat的变量。您的代码正在尝试两种方式。 -
不,数据集只包含这些变量:founded_at、first_funding_at 和 last_funding_at
-
你能告诉我我的代码有什么错误吗?
-
您使用的是字符串
'feat',而不是变量feat -
另外你正在覆盖列你应该使用类似
YEAR_FOUDNED,YEAR_FIRST_COUNDED等的东西。
标签: python-3.x pandas csv date split