[英]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.isin
與boolean 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.difference
與DataFrame.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.