python - 使用 Pandas 中的“to_datetime”函数将月份名称转换为十进制
问题描述
我有一个包含“月”列的数据框数据:
year month passengers
0 1949 January 112
1 1949 February 118
2 1949 March 132
3 1949 April 129
4 1949 May 121
我想将月份列转换为零填充十进制数,所以我使用以下内容:
import pandas as pd
pd.to_datetime(data['month'], format= '%B')
我希望这会将月份名称转换为零填充小数,但我得到以下信息:
0 1900-01-01
1 1900-02-01
2 1900-03-01
3 1900-04-01
4 1900-05-01
我想我可以使用正则表达式从返回的数据中推断月份数,但我想必须有一种更简洁的方法来做到这一点。
我对 Python 有点陌生,所以任何帮助将不胜感激!非常感谢您的阅读。
解决方案
df["months"] = pd.to_datetime(df['month'], format= '%B').dt.strftime("%m")
print(df)
输出:
year month passengers months
0 1949 January 112 01
1 1949 February 118 02
2 1949 March 132 03
3 1949 April 129 04
4 1949 May 121 05
推荐阅读
- c# - 不尊重 Flurl 超时
- java - 我需要知道屏幕尺寸和屏幕密度有什么不同
- xamarin.forms - 如何解决“发现无法解决的不同版本的“Microsoft.CSharp”之间的冲突。”
- python - Python 搜索数据框以查找具有特殊字符的列表中的单词。输出不如预期
- node.js - Alexa Skill 不适用于出站 API 调用
- python - 如何在 2 行中水平附加到数组
- java - 检索表中包含 SQLite 特定列中的特定值的最新行的最佳方法是什么?
- python - 三个不同的数据框行组合
- r - 在 R 中的任何列中呈现不为零的行
- flutter - 如何防止我的应用程序状态发生变化?