Python 由于单列文本导致的Dataframe标准偏差问题
我有一个数据框,其中有一行调查响应值(1-5),我正试图得到一个标准偏差 最后一列指示数据属于哪个调查组(列名=响应者)。因为这些列具有文本而不是整数,所以标准偏差返回NaN。skipna=True在这种情况下不起作用。我需要保留该栏,因为分析将在一个散点图中比较每组的回答。我似乎找不到一种方法,可以让标准偏差忽略该列。出于上述原因,我不想删除该列 使用的代码是:Python 由于单列文本导致的Dataframe标准偏差问题,python,pandas,standard-deviation,Python,Pandas,Standard Deviation,我有一个数据框,其中有一行调查响应值(1-5),我正试图得到一个标准偏差 最后一列指示数据属于哪个调查组(列名=响应者)。因为这些列具有文本而不是整数,所以标准偏差返回NaN。skipna=True在这种情况下不起作用。我需要保留该栏,因为分析将在一个散点图中比较每组的回答。我似乎找不到一种方法,可以让标准偏差忽略该列。出于上述原因,我不想删除该列 使用的代码是: df1['std dev']=df.std(skipna=True) df1.head() 我不确定我可以添加什么来忽略std的“
df1['std dev']=df.std(skipna=True)
df1.head()
我不确定我可以添加什么来忽略std的“响应者”列
编辑
我找到了一个解决办法,虽然不太理想,但确实奏效了
我把我的数据分成两张Excel表格,在每一张表格中删除了有问题的一栏。然后执行我的标准偏差,将“响应者”列添加回每个数据帧,并将它们合并到新的DF中。尝试:
df.iloc[:,:-1].std()
在英语中,这意味着使用所有行,并使用除最后一列以外的所有行
如果您需要每行的标准偏差,则需要:
df.iloc[:,:-1].std(轴=1)
图例配合。我现在就试试。好吧,这真的很奇怪。如果我执行显示(df.iloc[:,:-2])
,它会完美地执行。但是,如果我尝试df.iloc[:,:-2].std()
。仍然按原样显示数据帧。您可能需要提供您所拥有和想要的更详细的描述。完全可以理解。我真的认为我想要的是行不通的,所以我努力解决它。我将我的excel工作表拆分为2,删除响应项列,添加标准偏差,将响应项列添加到两个DFs中,并合并到一个新的DF中。乔布是个好人!谢谢你的帮助。