繁体   English   中英

在 MultiIndex 数据框中插入非数字行

[英]Inserting non-number rows in MultiIndex dataframe

我有一个具有多个特征的 Pandas 数据框,我想在其中插入仅与第一个特征相对应的 nans 行。 换句话说,我想转换这样的东西: 在此处输入图片说明

进入这个:
在此处输入图片说明

由于我将处理大型数据集,因此速度很重要。

有关用于选择遗漏值一般解决办法,如果更多的列添加新的数据帧通过创建DataFrame.drop_duplicates ,选择feature小号列和重写数据feat2 ,所以如果使用concat全部更换,遗漏值另一列。 最后为了正确的顺序添加DataFrame.sort_values

df1 = df.drop_duplicates('feat1')[['feat1','feat2']].assign(feat2='-')
df2 = (pd.concat([df1, df], sort=False, ignore_index=True)
         .sort_values('feat1'))

print (df2)
   feat1 feat2  var
0      A     -  NaN
3      A     x  0.0
4      A     y  1.0
5      A     z  2.0
1      B     -  NaN
6      B     x  3.0
7      B     y  4.0
8      B     z  5.0
2      C     -  NaN
9      C     x  6.0
10     C     y  7.0
11     C     z  8.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM