python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python修改索引和行列

python数据处理之如何修改索引和行列

作者:B.Bz

这篇文章主要介绍了python数据处理之如何修改索引和行列问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

python如何修改索引和行列

修改索引

修改索引之前是自动生成的索引:

使用set_index('以xx字段为索引',inplace=True)设置索引:

inplace为True不用给新变量赋值,使用旧的变量名发现索引就已经被改变

打开文件时就生成索引:

index_col='以xx字段为索引'

重置索引:

reset_index()

DataFrame修改行名和列名

通过rename方法修改:

提取index和columns属性修改再赋值:

DataFrame添加、删除和插入队列

添加:

movie = pd.read_csv('../data/movie.csv')
# 添加新列,并赋值  DataFrame['新列名'] = (值)
movie['new_name'] = (movie['movie_title'] + '----'+  movie['country'])

删除:

# 删除列
movie = movie.drop('new_name',axis='columns')
# 删除行
movie = movie.drop('索引',axis='index')

插入:

DataFrame.insert(loc='下标',column='列名',value='值')

python索引设置

在Python中如果没有原始索引,会默认从0开始的自然数作为索引。

给df表传入索引

#传入列宿索引
df.columns = ["name","age","grade","height","time"]
#传入行索引
df.inex = [1,2,3,4,5,6]
#传入的行列索引必须与行列数相同,否则报错

df中重置行索引

df.set_index("age")
#讲age列当做行索引,可传入多列,形成层次化索引
reset_index(level = None,drop = False,inplace = False)   #将层次化索引重置
level:指定要讲层次化索引的第几级别转化为columns,默认全部转化
drop:指定是否阐述原索引,默认为False
inplace:指定是否修改原数据表,默认为False
#reset_index常用于数据分组及透视表中

重命名索引

#重命名列索引,以字典的形式传入原列名和新列名
df.rename(columns = {"old":"new","age":"new_age"})
#重命名行索引,与上同
df.rename(index = {})
#行列索引同时修改
df.rename(columns = {},index = {})

总结

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

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