1 回答

TA贡献1779条经验 获得超6个赞
你想要.tolist():
x1 = df[(df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL')].yes_user_count.tolist()
y1 = df[(df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL')].yes_user_count.tolist()
x_n = df[(df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL')].total_user_count.tolist()
y_n = df[(df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL')].total_user_count.tolist()
zscore, pval = proportions_ztest([x1, y1], [x_n, y_n])
但我也建议使用loc列名作为第二个值:
x1 = df.loc[(df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL'), 'yes_user_count'].tolist()
y1 = df.loc[(df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL'), 'yes_user_count'].tolist()
x_n = df.loc[(df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL'), 'total_user_count'].tolist()
y_n = df.loc[(df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL'), 'total_user_count'].tolist()
zscore, pval = proportions_ztest([x1, y1], [x_n, y_n])
或者甚至更好:
mask1 = (df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL')
mask2 = (df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL')
x1 = df.loc[mask1, 'yes_user_count'].tolist()
y1 = df.loc[mask2, 'yes_user_count'].tolist()
x_n = df.loc[mask1, 'total_user_count'].tolist()
y_n = df.loc[mask2, 'total_user_count'].tolist()
zscore, pval = proportions_ztest([x1, y1], [x_n, y_n])
添加回答
举报