• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

43 - 列级 - df.reset_index() - 索引转列

作者:

贺及楼

成为作者

更新日期:2024-08-14 12:48:39

reset_index()索引转列

索引转列

  1. import numpy as np
  2. import pandas as pd
  3. reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
  4. df.reset_index(level=0, inplace=True, drop=True) # 索引转回列
  5. df_rename = df.rename(columns={"index": "新名字"}) # 可能还要改名
  1. level:可以是int, str, tuple, or list, default None等类型。作用是只从索引中删除给定级别。默认情况下删除所有级别。
  2. drop=True 不想保留原来的index,默认值是False
  3. inplace = True:不创建新的对象,直接对原始对象进行修改;
  4. inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。
  5. col_levelint or str, default=0。如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它将插入到第一层。
  6. col_fillobject, default。如果列有多个级别,则确定其他级别的命名方式。如果没有,则复制索引名称。
  1. def pandas():
  2. try:
  3. df = pd.DataFrame()
  4. ls = [
  5. {'名字': '小A', 'd1': 1},
  6. {'名字': '小A', 'd1': 2},
  7. {'名字': '小B', 'd1': 2},
  8. {'名字': '小B', 'd1': 2},
  9. ]
  10. df = df.append(ls, ignore_index=True)
  11. # 无原索引
  12. df = df.reset_index(level=0, drop=True)
  13. # 名字 d1
  14. # 0 小A 1
  15. # 1 小A 2
  16. # 2 小B 2
  17. # 3 小B 2
  18. # 有原索引
  19. df = df.reset_index(level=0)
  20. # index 名字 d1
  21. # 0 0 小A 1
  22. # 1 1 小A 2
  23. # 2 2 小B 2
  24. # 3 3 小B 2
  25. # 改原表
  26. df.reset_index(level=0, inplace=True, drop=True)
  27. # 名字 d1
  28. # 0 小A 1
  29. # 1 小A 2
  30. # 2 小B 2
  31. # 3 小B 2
  32. # 错误用法
  33. df = df.reset_index(level=0, inplace=True, drop=True)
  34. # None
  35. print(df)
  36. except:
  37. print("no")
  38. raise
  39. if __name__ == "__main__":
  40. pandas()