Reu*_*eut 3 python null if-statement append pandas
我在熊猫中有下表-
>>>index1 index2 index3 index4 index5 index6 index7
0 sig null null null null null null
1 null sig null null null null null
2 null null sig null null null null
3 null null null sig null null null
4 null null null null no sig null null
5 null null null null null no sig null
6 null null null null null null sig
Run Code Online (Sandbox Code Playgroud)
我想摆脱减少空值并将数据放在一行中,如下所示:
>>>index1 index2 index3 index4 index5 index6 index7
0 sig sig sig sig no sig no sig sig
Run Code Online (Sandbox Code Playgroud)
重要的是,我通过 if 语句获得了第一个包含空数据的表;我已经计算了每个索引的统计检验,并根据 p 值,我使用 append 给每个索引值 sig 或 no sig:
for i in indices:
stat, p = friedmanchisquare(df[1][i],df[2][i],df[3][i],df[4][i],df[5][i])
#print(i,p)
if p<0.05:
friedman=friedman.append({i:'sig'},ignore_index=True)
else:
friedman=friedman.append({i:'no sig'},ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
所以我相信 append 会创建一个包含许多空值的大表。
我的最终目标:在循环阶段获得单行表(例如使用除附加之外的其他内容?)或在获得单行之后“修复”大表
您可以尝试np.diagonal哪些返回diagonal元素:
d = pd.DataFrame([np.diagonal(df)], columns=df.columns)
Run Code Online (Sandbox Code Playgroud)
index1 index2 index3 index4 index5 index6 index7
0 sig sig sig sig no sig no sig sig
Run Code Online (Sandbox Code Playgroud)