pandas的index

  • 定义index
    1. 读取csv时
      data = pd.read_csv('data.csv', index_col='id')
      这种方法会创建命名的索引列,并且会放在第1列(不管csv文件中是第几列)
    2. 声明DataFrame时
      data = [['Google', 10], ['Runoob', 12], ['Wiki', 13], ['Baidu', 20], ['taobao', 15]]
      # 创建DataFrame
      df = pd.DataFrame(data, columns=['Site', 'Age'], index=[1,2,3,4,6])
      

      这种方法会创建没有名字的索引列,仍然放在第1列。

  • 遍历时使用index
    1. 使有iterrows()
      for index, item in df.iterrows():
      print(index, item) #index的值就是上述定义的index值,并不是连续的序号
      print(item[0]) #item[0]就是第1列Site的值,item中不包含index列
      
    2. 使用itertuples()
      for item in df.itertuples():
      print(item)
      print(item.Index) # i.Index就是索引列的值
      print(item[0]) # 与item.Index的值相同,也是id列的值,id列会强制移动第0列。
      print(item[1]) # Site列的值
      

      如果原始数据中没有index会自动生成一个递增的index列。

    3. 无index的itertuples()
      for item in df.itertuples(index=False):
      print(item)
      #print(item.Index) # 报错
      print(item[0]) # Site列的值
      print(item[1]) # Age列的址
      

      id列或者index列会被从Series中移除,无法访问id列。

发表回复