pandas dataframe拼接后index重新排序方式
作者:healer-c
这篇文章主要介绍了pandas dataframe拼接后index重新排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
pandas dataframe拼接后index重新排序
今天在做两个 dataframe 纵向做拼接后,取第0行,发现有两行。
原因是在拼接后,并没有重新排序index。
解决方法
如下:
df.reset_index(drop=True, inplace=True)
或者
df.index = range(len(df))
第一种方法速度更快
pandasDataframe按指定index名或columns名(行名或列名)顺序修改输出内容的排列顺序
示例说明
按照下列代码,本希望输出的数据是按index=[‘离子类型’,‘剂量’,‘交互效应’,‘误差’,‘总和’],从上到下排列的,但从结果来看并不是
##输出方差分析表 dt={'自由度':pd.Series([df1,df2,df1*df2,a*b*(c-1),a*b*c-1],index=['离子类型','剂量','交互效应','误差','总和']), '平方和':pd.Series([SSA,SSB,SSAB,SSE,SST],index=['离子类型','剂量','交互效应','误差','总和']), '均方':pd.Series([MSA,MSB,MSAB,MSE],index=['离子类型','剂量','交互效应','误差']), 'F值':pd.Series([FA,FB,FAB],index=['离子类型','剂量','交互效应']), 'p值':pd.Series([pA,pB,pAB],index=['离子类型','剂量','交互效应'])} df3=pd.DataFrame(dt) df3
按指定的index顺序输出
只需在最后一行代码前插入以下代码即可按指定的index顺序输出
order=['离子类型','剂量','交互效应','误差','总和'] #指定输出的 index顺序 df3=df3.loc[order]
按指定的columns顺序输出
只需在最后一行代码前插入以下代码即可按指定的columns顺序输出
order=['均方','F值','自由度','平方和','p值'] df3=df3[order]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。