将平面索引与分层索引的DataFrame连接起来

特威基

我有两个数据框,数据框A:

               col1 
level1 level2
a      1         1
       2         2
b      1         3
       2         4

和数据框B:

            col2
level1 
a           5
b           6

我想加入他们的行列,以得到:

               col1 col2
level1 level2
a      1         1    5
       2         2    5
b      1         3    6
       2         4    6

换句话说,将单级索引数据帧合并到分层索引数据帧中。第二级中缺少的值应填写副本。

杰夫

在我看来,这看起来并不普遍,我相信它们是直接进行合并的一种方式,尽管可能不需要修改第二帧(例如,制作合并键,例如,这有点像交叉合并)。

In [49]: df1 = DataFrame({ 'A' : [1,2,3,4]})

In [50]: df1.index = pd.MultiIndex.from_tuples([ ('a',1),('a',2),('b',1),('b',2) ],names=['l1','l2'])

In [51]: df1
Out[51]: 
       A
l1 l2   
a  1   1
   2   2
b  1   3
   2   4

[4 rows x 1 columns]

In [52]: df2 = DataFrame({ 'B' : [5,6] },index=['a','b'])

In [53]: df2
Out[53]: 
   B
a  5
b  6

[2 rows x 1 columns]

In [54]: x, y = df1.align(df2,level='l1')

In [55]: x.combine_first(y)
Out[55]: 
       A  B
l1 l2      
a  1   1  5
   2   2  5
b  1   3  6
   2   4  6

[4 rows x 2 columns]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Pandas 将数据框与多索引保留索引名称连接起来

Pandas:如何将 MultiIndex DataFrame 与单个索引 DataFrame 连接起来,以及自定义排序

将循环索引与字段名连接起来动态创建 JavaScrip 变量

将具有重叠索引但永不重叠值的Pandas DataFrames连接起来

将多索引数据框与单索引数据框连接起来会破坏多索引格式

Python / Pandas:将两个具有多重索引的数据框连接起来

将空的Pandas DataFrame与Multiindex DataFrame连接起来

通过聚合将表自身连接起来

将矩阵从Matlab中的单元连接起来

将 Java 与 Python Flask 连接起来

将 redux devtools 与自己的商店连接起来

将数组值与 PHP 变量连接起来

Excel将整个列连接起来

QT - 将 QPushButtons 与 QCheckBoxes 连接起来

将表与子查询结果连接起来

将 symfony 与 sqlite 连接起来

将Spark中的稀疏向量连接起来?

如何将Charles与IntelliJ连接起来?

将列表与 linq 中的表连接起来

如何将odoo与体式连接起来?

将 const *char[] 变量与 char[] 连接起来

如何将 LSTM 与 Dense 连接起来?

将字符串与范围连接起来

Java:如何以一种优雅的方式将一个从索引0到-2的String数组连接起来?

在熊猫中基于两组索引将来自两个数据框的值连接起来

使用 Spark Dataframe 遍历记录并根据某些条件将当前值与先前值连接起来

无法将 Kafka 与 InfluxDB Sink 连接器连接起来

OpenShift v3 将应用程序与 redis 连接起来。连接被拒绝

它如何将各种微服务与Docker连接起来?