python - 如何在Python中将日期时间转换为字符串?

标签 python string pandas datetime dictionary

我想用这段代码制作折线图:

df = pd.DataFrame.from_dict({ 'sentencess' : sentencess, 'publishedAts' : publishedAts, 'hasil_sentimens' : hasil_sentimens })
df.to_csv('chart.csv')

df['publishedAts'] = pd.to_datetime(df['publishedAts'], errors='coerce')

by_day_sentiment = df.groupby([pd.Grouper(key='publishedAts',freq='D'),'hasil_sentimens']).size().unstack('hasil_sentimens')

sentiment_dict = by_day_sentiment.to_dict('dict')

sentiment_dict 的输出是

{'Negatif ': {Timestamp('2019-08-26 00:00:00', freq='D'): 2.0, Timestamp('2019-08-27 00:00:00', freq='D'): 4.0, Timestamp('2019-08-28 00:00:00', freq='D'): 2.0, Timestamp('2019-08-29 00:00:00', freq='D'): 3.0}, 'Netral ': {Timestamp('2019-08-26 00:00:00', freq='D'): 1.0, Timestamp('2019-08-27 00:00:00', freq='D'): 3.0, Timestamp('2019-08-28 00:00:00', freq='D'): 1.0, Timestamp('2019-08-29 00:00:00', freq='D'): 3.0}, 'Positif ': {Timestamp('2019-08-26 00:00:00', freq='D'): nan, Timestamp('2019-08-27 00:00:00', freq='D'): nan, Timestamp('2019-08-28 00:00:00', freq='D'): nan, Timestamp('2019-08-29 00:00:00', freq='D'): 1.0}}

从情感字典中,如何创建一个新的字典,但将键(现在是日期时间)更改为字符串?

最佳答案

使用strftime('%Y-%m-%d %H:%M:%S')

例如:

from pandas import Timestamp
from numpy import nan
data = {'Negatif ': {Timestamp('2019-08-26 00:00:00', freq='D'): 2.0, Timestamp('2019-08-27 00:00:00', freq='D'): 4.0, Timestamp('2019-08-28 00:00:00', freq='D'): 2.0, Timestamp('2019-08-29 00:00:00', freq='D'): 3.0}, 'Netral ': {Timestamp('2019-08-26 00:00:00', freq='D'): 1.0, Timestamp('2019-08-27 00:00:00', freq='D'): 3.0, Timestamp('2019-08-28 00:00:00', freq='D'): 1.0, Timestamp('2019-08-29 00:00:00', freq='D'): 3.0}, 'Positif ': {Timestamp('2019-08-26 00:00:00', freq='D'): nan, Timestamp('2019-08-27 00:00:00', freq='D'): nan, Timestamp('2019-08-28 00:00:00', freq='D'): nan, Timestamp('2019-08-29 00:00:00', freq='D'): 1.0}}

print({k: {m.strftime('%Y-%m-%d %H:%M:%S'): v for m, v in v.items()} for k, v in data.items()})

输出:

{'Negatif ': {'2019-08-26 00:00:00': 2.0,
              '2019-08-27 00:00:00': 4.0,
              '2019-08-28 00:00:00': 2.0,
              '2019-08-29 00:00:00': 3.0},
 'Netral ': {'2019-08-26 00:00:00': 1.0,
             '2019-08-27 00:00:00': 3.0,
             '2019-08-28 00:00:00': 1.0,
             '2019-08-29 00:00:00': 3.0},
 'Positif ': {'2019-08-26 00:00:00': nan,
              '2019-08-27 00:00:00': nan,
              '2019-08-28 00:00:00': nan,
              '2019-08-29 00:00:00': 1.0}}

关于python - 如何在Python中将日期时间转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57711758/

相关文章:

python - 如何获得一个抽象数据类来传递mypy?

python - 使用Python的浅水模型

java - 如何将来自 Web 服务的 'null' 值表示为真正的 null 或空字符串而不是 'null' 字符串

python - 您可以传递 scikit-learn ColumnTransformer 中的特定列吗?

python - 合并文件夹中的每个数据框

python - 我怎么能实现类似 np.where(df[variable] in ['value1' ,'value2' ])

python - 如何使用 Python 从文本文件中删除回车符?

python - 按列组合多个 csv 文件,并以标题作为文件名

php - 用重音切割字符串

python - 在 Python 中识别某些字符串的最佳方法