python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas dataframe拼接后index重新排序

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]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文