我是python的新手(来自R),我试图理解如何将pandas数据帧(在我的情况下称为df['timestamp']
)中的时间戳系列转换为我称之为的R中的字符串向量是否可能?怎么会这样做?
我尝试了df['timestamp'].apply('str')
,但这似乎只是将整个列df['timestamp']
放入一个长字符串中。我希望将每个元素转换为字符串并保留结构,以便它仍然是一个向量(或者这可能是一个数组?)
答案 0 :(得分:9)
考虑数据框df = pd.DataFrame(dict(timestamp=pd.to_datetime(['2000-01-01'])))
df
timestamp
0 2000-01-01
dt
使用日期时间访问者strftime
访问strftime
方法。您可以将格式字符串传递给dt
,它将返回格式化的字符串。与df.timestamp.dt.strftime('%Y-%m-%d')
0 2000-01-01
Name: timestamp, dtype: object
访问者一起使用时,您将获得一系列字符串。
gcloud components install app-engine-go
访问strftime.org
以获取一组便捷的格式字符串。
答案 1 :(得分:2)
使用astype
>>> import pandas as pd
>>> df = pd.to_datetime(pd.Series(['Jul 31, 2009', '2010-01-10', None]))
>>> df.astype(str)
0 2009-07-31
1 2010-01-10
2 NaT
dtype: object
返回一个字符串数组
答案 2 :(得分:1)
根据VinceP的答案,要就地转换日期时间系列,请执行以下操作:
df['Column_name']=df['Column_name'].astype(str)