pandas中的iloc索引以及修改索引

iloc索引

先建立好如下数据:

import pandas as pd

df = pd.DataFrame([['乔峰', '男', 95, '降龙十八掌', '主角'],
          ['虚竹', '男', 93, '天上六阳掌', '主角'],
          ['段誉', '男', 92, '六脉神剑', '主角'],
          ['王语嫣', '女', 95,'熟知武诀', '主角'],
          ['包不同', '男', 65, '胡搅蛮缠', '配角'],
          ['康敏', '女', 40, '惑夫妒人', '配角']],
          index=list('abcdef'.upper()),
          columns=['name', 'gender', 'score', 'skill', 'class'])
df

结果如下:
在这里插入图片描述

我们现在要索引“王语嫣”,使用iloc应该如何?
数一下,发现其坐标是(3,0)。

df.iloc[3,0]

结果如下:
在这里插入图片描述
那么series数据结构如何使用iloc索引呢?

#列索引直接得到series
dfn=df["name"]
print(type(dfn))
dfn

在这里插入图片描述

series使用iloc要注意的是,由于只有一列,所以iloc的行标照常写,列标由于一定是0,不用写了,写了将报错!

dfn.iloc[3]

在这里插入图片描述
最后提醒一下,iloc的行标和列标是严格顺序数下来的,和你的.index没有关系,即使上面数据的.index由原来的[A,B,C,D,E,F]换成[5,4,3,2,1,0],dfn.iloc[0]是输出“乔峰”,而不是“康敏”。

修改索引

1.dataframe.index赋值进行整体修改。

index=[i for i in range(df.shape[0])]
df.index=index
df

在这里插入图片描述
注意到,单个修改将报错。

print(df.index)
df.index[3]=10

在这里插入图片描述
2.使用rename实现单个修改。

df.rename(index={
    
    3:10})

在这里插入图片描述
注意:上面没有实现真正的修改,真正修改可以:

df.rename(index={
    
    3:10},inplace=True)
#或者
df=df.rename(index={
    
    3:10})

修改columns索引的内容和index类似。

df.columns

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43391414/article/details/113063543