在 Python Pandas 的行中按不同条件计算项目
Counting items by different conditions in rows in Python Pandas
我正在尝试创建一个实验的混淆矩阵。
所以数据集是这样的;
Responses Condition
3 1 R
4 1 R
6 1 R
7 1 R
8 -1 R
9 -1 N
10 -1 N
11 -1 N
12 -1 R
13 1 R
我想对四种不同的情况进行分类;我想计算每一个条件。
1 & N,
-1 & N,
1 & R,
-1 & R
我想计算数据框中的每一种情况。
我试过使用 .itertuples ,但我不知道如何使用 2 个参数。
这可行
import pandas as pd
df = pd.DataFrame({"Conditions":["R","R","N","N"], "Responses":[1,-1,-1,-1]})
df.groupby(["Conditions","Responses"]).apply(len).to_frame("occurrences")
IIUC
df.groupby(['Condition','Responses']).size().unstack(fill_value=0).stack()
Condition Responses
N -1 3
1 0
R -1 2
1 5
dtype: int64
或
pd.crosstab(df.Condition,df.Responses)
Responses -1 1
Condition
N 3 0
R 2 5
我正在尝试创建一个实验的混淆矩阵。
所以数据集是这样的;
Responses Condition
3 1 R
4 1 R
6 1 R
7 1 R
8 -1 R
9 -1 N
10 -1 N
11 -1 N
12 -1 R
13 1 R
我想对四种不同的情况进行分类;我想计算每一个条件。
1 & N, -1 & N, 1 & R, -1 & R
我想计算数据框中的每一种情况。
我试过使用 .itertuples ,但我不知道如何使用 2 个参数。
这可行
import pandas as pd
df = pd.DataFrame({"Conditions":["R","R","N","N"], "Responses":[1,-1,-1,-1]})
df.groupby(["Conditions","Responses"]).apply(len).to_frame("occurrences")
IIUC
df.groupby(['Condition','Responses']).size().unstack(fill_value=0).stack()
Condition Responses
N -1 3
1 0
R -1 2
1 5
dtype: int64
或
pd.crosstab(df.Condition,df.Responses)
Responses -1 1
Condition
N 3 0
R 2 5