在数据框中的 Pandas 系列的空格之前获取字符串
Get string before a whitespace on a Pandas series in a dataframe
我正在准备绘图数据,但我目前在 Pandas
中的数据帧上应用函数时遇到问题
这是我的数据框:
我需要做的是只从时间戳中获取日期。所以在当前的数据框中,预期的结果应该是这样的:
timestamp action
0 2020-03-03 pagevisit
1 2020-03-03 pagevisit
2 2020-03-03 pagevisit
3 2020-03-03 pagevisit
4 2020-03-03 pagevisit
我有大约 100,000 条记录需要清理并只获取日期。我试过了
df['timestamp'] = df['timestamp'].apply(lambda x: x.split(' ')[0])
它returns错误
AttributeError: 'Timestamp' object has no attribute 'split'
--
我也试过了
df['timestamp'] = df.apply(lambda x: x['timestamp'].split(' ')[0])
但是 returns
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 135, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index_class_helper.pxi", line 109, in pandas._libs.index.Int64Engine._check_type
KeyError: 'timestamp'
我觉得这是一个相当容易的任务,但我已经检查了过去一个小时,但仍然无法完成。我的 pandas ver 是 1.0.1 所以老实说我不知道原因,我已经绝望了。请帮忙。
使用.date()
例如:
df['timestamp'] = df['timestamp'].date()
演示:
print(pd.Timestamp('2020-03-03 12:13:56+09:00').date())
# -->2020-03-03
查看错误,似乎列时间戳的类型为 pd.Timestamp
(查看文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.html)
如果你只是想获取字符串形式的日期,你可以按照以下步骤进行操作
df['timestamp'] = df['timestamp'].apply(lambda x: str(x.date()))
(或者您可以只使用 x.date()
来获取 datetime.date
类型)
我正在准备绘图数据,但我目前在 Pandas
中的数据帧上应用函数时遇到问题这是我的数据框:
我需要做的是只从时间戳中获取日期。所以在当前的数据框中,预期的结果应该是这样的:
timestamp action
0 2020-03-03 pagevisit
1 2020-03-03 pagevisit
2 2020-03-03 pagevisit
3 2020-03-03 pagevisit
4 2020-03-03 pagevisit
我有大约 100,000 条记录需要清理并只获取日期。我试过了
df['timestamp'] = df['timestamp'].apply(lambda x: x.split(' ')[0])
它returns错误
AttributeError: 'Timestamp' object has no attribute 'split'
-- 我也试过了
df['timestamp'] = df.apply(lambda x: x['timestamp'].split(' ')[0])
但是 returns
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 135, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index_class_helper.pxi", line 109, in pandas._libs.index.Int64Engine._check_type
KeyError: 'timestamp'
我觉得这是一个相当容易的任务,但我已经检查了过去一个小时,但仍然无法完成。我的 pandas ver 是 1.0.1 所以老实说我不知道原因,我已经绝望了。请帮忙。
使用.date()
例如:
df['timestamp'] = df['timestamp'].date()
演示:
print(pd.Timestamp('2020-03-03 12:13:56+09:00').date())
# -->2020-03-03
查看错误,似乎列时间戳的类型为 pd.Timestamp
(查看文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.html)
如果你只是想获取字符串形式的日期,你可以按照以下步骤进行操作
df['timestamp'] = df['timestamp'].apply(lambda x: str(x.date()))
(或者您可以只使用 x.date()
来获取 datetime.date
类型)