将 Twitter created_at 转换为日期时间无效
Converting Twitter created_at to datetime not working
我正在做一个分析推文的项目,我首先尝试将 created_at 列转换为日期时间。
format = "%Y-%m-%d %H:%M:%S"
df['created_at_datetime'] = pd.to_datetime(df['created_at'], format = format).dt.tz_localize(None)
我一直收到以下错误
我在分析 Twitter 方面处于非常入门和初级的阶段 class,所以我根本不是编码专家。我之前在这行代码工作的地方做过作业,所以我不确定现在的错误是什么。
我在 Colab 工作,这是全部内容:https://colab.research.google.com/drive/1XXJsoMQouzH-1t7eWRd1c-fsrI3vYFcf?usp=sharing。
谢谢!
试试这个:
format_y = "%Y-%m-%d %H:%M:%S"
pd.to_datetime(date, format = format_y).tz_localize(None)
检查 'created_at'
列中的所有值的时间戳格式是否符合您的预期。
似乎有些行可能有字符串 "en"
而不是时间戳。
您需要找到不合适的罪魁祸首值。
工作流程如下:
import pandas as pd
raw_dt_series = pd.Series(['2022-05-05', 'foobar','2022-05-02', '202', None])
raw_dt_series_notna = raw_dt_series.dropna()
dt_series = pd.to_datetime(raw_dt_series_notna, errors='coerce')
输出:
0 2022-05-05
1 NaT
2 2022-05-02
3 NaT **< - Treated as np.NaN in pandas**
dtype: datetime64[ns]
您找到了引发类型错误的行。
raw_dt_series_notna.loc[dt_series.isna()]
是时候调查给定值不符合格式的原因了。
查清楚后,调整格式参数:
pd.to_datetime(raw_dt_series, format='%YOUR%NEW%FORMAT)
我正在做一个分析推文的项目,我首先尝试将 created_at 列转换为日期时间。
format = "%Y-%m-%d %H:%M:%S"
df['created_at_datetime'] = pd.to_datetime(df['created_at'], format = format).dt.tz_localize(None)
我一直收到以下错误
我在分析 Twitter 方面处于非常入门和初级的阶段 class,所以我根本不是编码专家。我之前在这行代码工作的地方做过作业,所以我不确定现在的错误是什么。
我在 Colab 工作,这是全部内容:https://colab.research.google.com/drive/1XXJsoMQouzH-1t7eWRd1c-fsrI3vYFcf?usp=sharing。
谢谢!
试试这个:
format_y = "%Y-%m-%d %H:%M:%S"
pd.to_datetime(date, format = format_y).tz_localize(None)
检查 'created_at'
列中的所有值的时间戳格式是否符合您的预期。
似乎有些行可能有字符串 "en"
而不是时间戳。
您需要找到不合适的罪魁祸首值。 工作流程如下:
import pandas as pd
raw_dt_series = pd.Series(['2022-05-05', 'foobar','2022-05-02', '202', None])
raw_dt_series_notna = raw_dt_series.dropna()
dt_series = pd.to_datetime(raw_dt_series_notna, errors='coerce')
输出:
0 2022-05-05
1 NaT
2 2022-05-02
3 NaT **< - Treated as np.NaN in pandas**
dtype: datetime64[ns]
您找到了引发类型错误的行。
raw_dt_series_notna.loc[dt_series.isna()]
是时候调查给定值不符合格式的原因了。 查清楚后,调整格式参数:
pd.to_datetime(raw_dt_series, format='%YOUR%NEW%FORMAT)