python-3.x - 使用 lambda 表达式重置 Pandas 系列的索引
问题描述
我有一个熊猫系列,ts。
Date
2020-06-02 10.02
2020-06-03 10.45
2020-06-04 10.95
2020-06-05 11.23
出于绘图目的,我首先将索引转换为数据框,从而将其转换为字符串。然后应用 lambda 表达式,然后将其提取为 Pandas 系列。
dfn = ts.to_frame()
dfn.index = dfn.reset_index().apply(lambda x: x['Date'].strftime('%Y-%m-%d'), axis=1)
tsn = dfn.iloc[:, 0]
有没有更有效的方法呢?
解决方案
您可以将rename
lambda 函数用于索引的 cgange 格式:
ts = ts.rename(lambda x: x.strftime('%Y-%m-%d'))
或者另一个想法是使用Series
构造函数DatetimeIndex.strftime
:
ts = pd.Series(ts.to_numpy(), index=ts.index.strftime('%Y-%m-%d'))
print (ts)
Date
2020-06-02 10.02
2020-06-03 10.45
2020-06-04 10.95
2020-06-05 11.23
dtype: float64
print (ts.index)
Index(['2020-06-02', '2020-06-03', '2020-06-04', '2020-06-05'], dtype='object', name='Date')
推荐阅读
- swagger - 如何让 OpenAPI/Swagger 忽略模型的某些属性?
- django - 使用 Django 接收电子邮件的问题
- linux - 在 AWS Lambda 上安装库插件/二进制文件
- android - 应用消息传递中的 Firebase(实现 'com.google.firebase:firebase-inappmessaging-display:19.1.5')与 Android 中的 gRPC 之间的冲突
- tkinter - 如何正确使用 tkinter 滚动条?
- javascript - 基于Django的在线考试平台考试准入时间控制系统
- r - 使用“svydesign”将数据转换为抽样计划的问题
- javascript - 在节点错误中循环 axios request.data
- flutter - 如何使用 Flutter 为 android 和 IOS 构建 AR 指南针
- ios - Swift Calendar iOS - RecurenceEnd byoccurrenceCount 仅创建 1 或 2 个事件,而不是更多