簡體   English   中英

基於行索引將數據幀拆分為兩個不相交的子幀

[英]Split data frame in two disjoint sub frames based on row index

如何拆分 dataframe

import pandas as pd
import numpy as np
np.random.seed(0)
df = pd.DataFrame({'first':np.random.rand(4),'second':np.random.rand(4)},index=['foo','bar','baz','bat'])
print(df)
        first    second
foo  0.548814  0.423655
bar  0.715189  0.645894
baz  0.602763  0.437587
bat  0.544883  0.891773

進入以下兩個不相交的數據幀

        first    second
foo  0.548814  0.423655
bar  0.715189  0.645894

     first    second
baz  0.602763  0.437587
bat  0.544883  0.891773

通過使用第一個數據幀的索引?

我正在專門尋找一種方法

subDf1,subDf2 = pd.split(df,['foo','bar'])

在哪里

print(subDf1)
   first    second
foo  0.548814  0.423655
bar  0.715189  0.645894

print(subDf2 )
  first    second
baz  0.602763  0.437587
bat  0.544883  0.891773

我相信您可以將Index.isinboolean indexing一起用於第二個DataFrame

idx = ['foo','bar']

print (df.loc[idx])
        first    second
foo  0.548814  0.423655
bar  0.715189  0.645894

print (df[~df.index.isin(idx)])
        first    second
baz  0.602763  0.437587
bat  0.544883  0.891773

Index.differenceDataFrame.loc的 select 的標簽:

print (df.loc[df.index.difference(idx)])
        first    second
bat  0.544883  0.891773
baz  0.602763  0.437587

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM