Python 使用具有复制轴的重新索引
假设我有一个以日期为索引的数据框。每一行都包含关于该日期特定事件的信息。问题是在上述日期可能会有多个事件。 这是一个示例数据帧df2:Python 使用具有复制轴的重新索引,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有一个以日期为索引的数据框。每一行都包含关于该日期特定事件的信息。问题是在上述日期可能会有多个事件。 这是一个示例数据帧df2: one two 1/2 1.0 1.0 1/2 1.0 1.0 1/4 3.0 3.0 1/5 NaN 4.0 我想将丢失的日期添加到数据框中,我以前可以使用.loc来完成。现在,loc提出以下警告: 通过列表喜欢。丢失标签的loc或[]将引发 KeyError以后,您可以使用.reindex()作为替代方法 这是我的代码(它可以工
one two
1/2 1.0 1.0
1/2 1.0 1.0
1/4 3.0 3.0
1/5 NaN 4.0
我想将丢失的日期添加到数据框中,我以前可以使用.loc来完成。现在,loc提出以下警告:
通过列表喜欢。丢失标签的loc或[]将引发
KeyError以后,您可以使用.reindex()作为替代方法
这是我的代码(它可以工作,但会引发警告):
我已经尝试按照建议使用reindex,但我的索引包含重复的值,因此无法工作:
#This doesn't work
df2.reindex(["1/2","1/3","1/4","1/5"])
ValueError:无法从重复轴重新编制索引
如何替换旧loc?从
加入的单向
df.join(pd.DataFrame(index=["1/2","1/3","1/4","1/5"]),how='outer')
Out[193]:
one two
1/2 1.0 1.0
1/2 1.0 1.0
1/3 NaN NaN
1/4 3.0 3.0
1/5 NaN 4.0
从加入的单向
df.join(pd.DataFrame(index=["1/2","1/3","1/4","1/5"]),how='outer')
Out[193]:
one two
1/2 1.0 1.0
1/2 1.0 1.0
1/3 NaN NaN
1/4 3.0 3.0
1/5 NaN 4.0
只是好奇为什么这里需要重复的索引……我可能会将“date”添加为一列(而不是索引),然后使用.reset_index()生成一个新索引。这是一段旧代码,.loc在更新到pandas 0.22之前没有发出警告,只是好奇为什么这里需要重复的索引…我可能会添加“date”作为列(而不是索引),并使用.reset_index()生成新索引。这是一段旧代码。loc在升级到pandas 0.22之前没有发出警告