【发布时间】:2016-06-01 21:49:09
【问题描述】:
我正在研究时间序列,我发现 pandas 数据框中的行为非常奇特
以下代码在索引不是时间序列时有效
import pandas as pd
df = pd.DataFrame({"a":[1,2,3], "b":[31,41,51],"c":[31,52,23]}, index=["z", "y", "x"])
df1 = pd.DataFrame({"a":[41,55,16]}, index=["w", "v", "u"])
df2 = pd.DataFrame({"b":[24,3,57]}, index=["w", "v", "u"])
df3 = pd.DataFrame({"c":[111,153,123]}, index=["w", "v", "u"])
df = df.append(df1)
dfx.ix[df2.index, "b"] = df2
df 的输出:
a b c
z 1 31 31
y 2 41 52
x 3 51 23
w 41 24 NaN
v 55 3 NaN
u 16 57 NaN
但是,当有datetime64[ns] 索引或大小太大时,这不起作用
当有datetime64[ns]索引时,除了以下命令有效
df = df.append(df1)
df["b"][df2.index] = df2
为什么会这样?
【问题讨论】:
标签: python python-2.7 pandas dataframe time-series