[英]Dividing two columns of an unstacked dataframe
我在熊貓數據框中有兩列。
第1列是ed,其中包含字符串(例如'a','a','b,'c','c','a')
ed column = ['a','a','b','c','c','a']
第2列是工作,還包含字符串(例如'aa','bb','aa','aa','bb','cc')
job column = ['aa','bb','aa','aa','bb','cc'] #these are example values from column 2 of my pandas data frame
然后,我生成一個兩列頻率表,如下所示:
my_counts= pdata.groupby(['ed','job']).size().unstack().fillna(0)
現在,我該如何將頻率表中一列中的頻率除以另一列中的頻率? 我想采用該比率並將其用於argsort()
以便可以按計算出的比率進行排序,但是我不知道如何引用結果表的每一列。
我將數據初始化如下:
ed_col = ['a','a','b','c','c','a']
job_col = ['aa','bb','aa','aa','bb','cc']
pdata = pd.DataFrame({'ed':ed_col, 'job':job_col})
my_counts= pdata.groupby(['ed','job']).size().unstack().fillna(0)
現在,my_counts看起來像這樣:
job aa bb cc
ed
a 1 1 1
b 1 0 0
c 1 1 0
要訪問列,可以使用my_counts.aa
或my_counts['aa']
。 要訪問一行,可以使用my_counts.loc['a']
。
因此,aa的頻率除以bb就是my_counts['aa'] / my_counts['bb']
現在,如果要對其進行排序,可以執行以下操作:
my_counts.iloc[(my_counts['aa'] / my_counts['bb']).argsort()]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.