我有一个非常令人沮丧的错误。你能帮忙吗。
df['timestamp'] = [datetime.fromtimestamp(d) for d in df.time]
df.set_index('timestamp')
这将提供以下数据框:
timestamp
2020-01-24 03:00:00 0.008018
2020-01-24 04:00:00 0.008856
2020-01-24 05:00:00 0.005884
2020-01-24 06:00:00 0.010449
2020-01-24 07:00:00 0.009826
我要更改datime的格式,如下所示:
df['timestamp'] = datetime.strptime(df['timestamp'], '%d/%m/%Y').strftime('%Y-%m-%d')
但是我有错误:
TypeError: 'str' object cannot be interpreted as an integer
Traceback (most recent call last):
File "poly_regression_test.py", line 99, in <module>
df['timestamp'] = datetime.strptime(df['timestamp'], '%d/%m/%Y').strftime('%Y-%m-%d')
File "/Users/delalma/Library/Python/3.7/lib/python/site-packages/pandas/core/series.py", line 1064, in __getitem__
result = self.index.get_value(self, key)
File "/Users/delalma/Library/Python/3.7/lib/python/site-packages/pandas/core/indexes/datetimes.py", line 1003, in get_value
raise KeyError(key)
KeyError: 'timestamp'
答案 0 :(得分:2)
您已将timestamp
设为索引,因此无法再使用其标签来调用它。尝试以下方法:
df['timestamp'] = datetime.strptime(df.index, '%d/%m/%Y').strftime('%Y-%m-%d')
答案 1 :(得分:1)
让我们使用pandas
df['timestamp'] = pd.to_datetime(df.index, '%d/%m/%Y').dt.date