【发布时间】:2021-08-18 18:59:43
【问题描述】:
我想创建一个 pandas 数据框 df,例如:
df = pd.DataFrame(
{
"group": ["A", "A", "A", "A", "A"],
"date": ["2020-01-02", "2020-01-13", "2020-02-01", "2020-02-23", "2020-03-05"],
"value": [10, 20, 16, 31, 56],
}
)
我想在创建数据框时将“日期”列指定为 dtype=datetime64[ns],而不是之后。
所以不是这样的:
df = pd.DataFrame(
{
"group": ["A", "A", "A", "A", "A"],
"date": ["2020-01-02", "2020-01-13", "2020-02-01", "2020-02-23", "2020-03-05"],
"value": [10, 20, 16, 31, 56],
}
)
df["date"] = pd.to_datetime(df["date"])
但是像这样:
df = pd.DataFrame(
{
"group": ["A", "A", "A", "A", "A"],
"date": pd.Series(
["2020-01-02", "2020-01-13", "2020-02-01", "2020-02-23", "2020-03-05"],
dtype=np.datetime64,
),
"value": [10, 20, 16, 31, 56],
}
)
但这给出了错误:
ValueError: 'datetime64' dtype 没有单位。请改为传入 'datetime64[ns]'。
这样做
df = pd.DataFrame(
{
"group": ["A", "A", "A", "A", "A"],
"date": pd.Series(
["2020-01-02", "2020-01-13", "2020-02-01", "2020-02-23", "2020-03-05"],
dtype=np.datetime64[ns],
),
"value": [10, 20, 16, 31, 56],
}
)
我收到此错误:
NameError: 名称“ns”未定义
那么如何将特定列设置为“datetime64[ns]”类型?
【问题讨论】:
-
将
np.datetime64更改为'datetime64[ns]'