如何将单个数据框添加到多索引数据框?
例如
我的多索引数据是
Name Code Buying_Date Buying_Price Buying_Qty
Date Code
20140117 none a 1234 20170101 5 7
20170120 none b 5678 20180101 6 8
我希望将以下数据添加到 'Date' = '20170120'
Name Code Buying_Date Buying_Price Buying_Qty
Code
abcd af abcd 20170101 5 7
efgh bf efgh 20180101 6 8
期望的结果是
Name Code Buying_Date Buying_Price Buying_Qty
Date Code
20140117 none a 1234 20170101 5 7
20170120 none b 5678 20180101 6 8
abcd af abcd 20170101 5 7
efgh bf efgh 20180101 6 8
提前感谢您的建议。
您可以使用:
df = df1.append(df2.assign(Date=20170120).set_index('Date', append=True).swaplevel(0,1))
print (df)
Buying_Date Buying_Price Buying_Qty Code Code.1 Name
Date Code
20140117 none 20170101 5 7 NaN 1234.0 a
20170120 none 20180101 6 8 NaN 5678.0 b
abcd 20170101 5 7 abcd NaN af
efgh 20180101 6 8 efgh NaN bf
Detail:
print (df2.assign(Date=20170120).set_index('Date', append=True).swaplevel(0,1))
Name Code Buying_Date Buying_Price Buying_Qty
Date Code
20170120 abcd af abcd 20170101 5 7
efgh bf efgh 20180101 6 8
解释:
- First assign http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.assign.html新列并添加到
index
by set_index http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.set_index.html
-
swaplevel
的水平在MultiIndex
- Last append http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.append.html首先
DataFrame
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)