簡體   English   中英

如何通過行索引將數據幀拆分為子數據幀

[英]How to split a Dataframe into Sub-Dataframes by row index

我有一個帶有輸入參數dataframe的foo()函數,該函數計算每個大1的值。因此,一個400x5的數據幀減少為1x5。

現在我有一個像

Country    Value1    Value2
US         1         3
Uk         3         2
US         2         1
UK         5         5

結果可能看起來像

Country    Value1    Value2
US         1         1 
Uk         2         2

我的目標是按國家划分數據集並執行foo() 我找到了一種使用groupby()拆分數據集的解決方案 ,但是groupby給了我tuples而不是數據幀,這是個問題,因為我的foo()只吃了數據幀。 有誰知道如何將數據框拆分為多個數據框並對它們執行功能?

import pandas as pd
from pandas.compat import StringIO
print(pd.__version__)

data =  """Country    Value1    Value2
US         1         3
UK         3         2
US         2         1
UK         5         5"""

df = pd.read_csv(StringIO(data), sep='\s+')
df = df.groupby('Country').apply(lambda x: x.where(x > 1).count())
print(df)

產生

0.24.2
         Value1  Value2
Country                
UK            2       2
US            1       1

請注意,國家/地區以區分大小寫的方式處理,Q包含混合大小寫,答案不包含。

暫無
暫無

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

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