我有这样的数据框:
df = pd.DataFrame({
'timestamp': ['2017-06-04 07:59:42', '2017-06-04 07:59:42',
'2017-06-04 07:59:42', '2017-06-04 07:59:42',
'2017-06-04 07:59:42'],
'municipality_id': [9, 8, 4, 0, 7],
'usage': [454, 556, 1090, 204, 718],
'total_capacity': [1332, 2947, 3893, 2813, 2019]
})
那么如何获取第一列每一行的前十个字符,例如:
0 2017-06-04
1 2017-06-04
2 2017-06-04
3 2017-06-04
4 2017-06-04
最佳答案
从您的 csv 文件中,有多种方法可以提取日期
方法 1:parse_dates
来自 read_csv
:
df = pd.read_csv('data.csv', parse_dates=['timestamp'])
df['date'] = df['timestamp'].dt.date
方法 2:to_datetime
:
df = pd.read_csv('data.csv')
df['date'] = pd.to_datetime(df['timestamp']).dt.date
方法三:str[]
df = pd.read_csv('data.csv')
df['date'] = df['timestamp'].str[:10]
每个方法的输出是:
>>> df['date']
1 2017-06-04
2 2017-06-04
3 2017-06-04
4 2017-06-04
...
13065 2017-08-19
13066 2017-08-19
13067 2017-08-19
13068 2017-08-19
13069 2017-08-19
Name: date, Length: 13070, dtype: object
关于python - 如何仅从时间戳中提取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69420227/