[英]Split a Pandas dataframe into multiple dataframes based on the value of a column
[英]How to split 1 dataframe into two dataframes based on column1's value
我已經看過其他幾個與此類似的stackoverflow問題,但找不到我想要的東西
例如,如果我有一個包含2列的數據框
TrueFalse | Numbers
-------------------
True | 1
False | 5
True | 1
True | 1
False | 2
False | 2
True | 3
我想找出一種方法來舉例說明“數據幀”並將其轉換為兩個單獨的數據幀,因此,如果TrueFalse值等於“ true”,則將整行復制到df1,如果TrueFalse值等於“ false”,則將整行復制到df2。 然后嘗試計算這些行中有多少行的值為“ True”。
因此,在python腳本運行之后,我將擁有一個新的數據框,如下所示:
TrueFalse | Numbers
-------------------
True | 1
True | 1
True | 1
True | 3
和
TrueFalse | Numbers
-------------------
False | 5
False | 2
False | 2
我已經嘗試了在其他stackoverflow問題和幾個網站中找到的內容,但是例如,如果我這樣做了。
for row in df:
if df['TrueFalse'][row:row+1] == 'True':
df1.append(df[row])
我已經很長時間沒有使用Python了,我知道上面的代碼不起作用,但是我不知道如何使它起作用。 任何幫助/指針,我們將不勝感激。
您應該可以使用以下方法執行此操作:
df_true = df[df['TrueFalse'] == True]
df_false = df[df['TrueFalse'] == False]
這將基於“ TrueFalse”的值復制所有數據幀。
df1 = df[df.TrueFalse]
df2 = df[~df.TrueFalse]
這等效於:
df1 = df[df['TrueFalse'] == True]
....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.