簡體   English   中英

Python,Pandas,如何基於列分隔數據框

[英]Python, Pandas, How to separate dataframe based on columns

說我有一個像這樣的數據框:

mydata = [{'gender' : 'F', 'session': 0, 'score':23},
          {'gender' : 'F', 'session': 1, 'score':24},
       {'gender' : 'M', 'session': 0, 'score':22},
       {'gender' : 'M', 'session': 1, 'score':32},
       {'gender' : 'F', 'session': 0, 'score':33},
          {'gender' : 'F', 'session': 1, 'score':33},
       {'gender' : 'M', 'session': 0, 'score':44},
       {'gender' : 'M', 'session': 1, 'score':44},
       ]
df = pd.DataFrame(mydata)


  gender  score  session
0      F     23        0
1      F     24        1
2      M     22        0
3      M     32        1
4      F     33        0
5      F     33        1
6      M     44        0
7      M     44        1

如何創建基於會話和性別的一些新得分變量:比如female_0,feature_1,male_0,male_1。

非常感謝

IIUC,您需要使用groupby dict comprehension

dfs = {'{}_{}'.format(i[0], i[1]):df for i, df in df.groupby(['gender','session'])}
print (dfs)
{'F_1':   gender  score  session
1      F     24        1
5      F     33        1, 'M_0':   gender  score  session
2      M     22        0
6      M     44        0, 'M_1':   gender  score  session
3      M     32        1
7      M     44        1, 'F_0':   gender  score  session
0      F     23        0
4      F     33        0}

print (dfs['F_1'])
  gender  score  session
1      F     24        1
5      F     33        1

暫無
暫無

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

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