簡體   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