car*_*mom 2 python date pandas
这个答案包含一种非常优雅的方式,可以在一行中设置所有类型的 Pandas 列:
# convert column "a" to int64 dtype and "b" to complex type
df = df.astype({"a": int, "b": complex})
Run Code Online (Sandbox Code Playgroud)
我开始认为不幸的是,它的应用有限,您迟早将不得不使用各种其他方法在多行上转换列类型。我测试过'category'并且有效,因此它将采用实际的 python 类型,如int或complex,然后是带引号的熊猫术语,如'category'.
我有一列日期,如下所示:
25.07.10
08.08.10
07.01.11
Run Code Online (Sandbox Code Playgroud)
我查看了有关强制转换日期列的答案,但似乎没有一个符合上面的优雅语法。
我试过:
from datetime import date
df = df.astype({"date": date})
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误:
TypeError: dtype '<class 'datetime.date'>' not understood
Run Code Online (Sandbox Code Playgroud)
(省略整个痕迹)
我也试过pd.Series.dt.date哪个也没用。是否可以像这样将所有列(包括日期或日期时间列)转换为一行?
这已在评论中得到回答,其中指出以下工作:
df.astype({'date': 'datetime64[ns]'})
Run Code Online (Sandbox Code Playgroud)
此外,您可以在读入数据时设置 dtype:
pd.read_csv('path/to/file.csv', parse_dates=['date'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9998 次 |
| 最近记录: |