将熊猫系列更改为 int

我有以下代码:


x1 = df[(df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL')].yes_user_count

y1 = df[(df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL')].yes_user_count


x_n = df[(df['event_name'] == 'Listen') & (df['cell'] == 'CONTROL')].total_user_count

y_n = df[(df['event_name'] == 'Listen') & (df['cell'] != 'CONTROL')].total_user_count


zscore, pval = proportions_ztest([x1, y1], [x_n, y_n])

但是,ztest 函数不起作用。原因看起来是x1、y1、x_n和y_n是熊猫系列。我尝试使用 x1.astype(int) 但它似乎没有解决问题。


有人可以建议什么是最好的解决方案吗?


ITMISS
浏览 144回答 1
1回答

哆啦的时光机

你想要.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])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python