常用显示设置

1、pd.set_option(‘expand_frame_repr’, False)
True就是可以换行显示。设置成False的时候不允许换行

2、pd.set_option(‘display.max_rows’, 10)
pd.set_option(‘display.max_columns’, 10)
显示的最大行数和列数,如果超额就显示省略号,这个指的是多少个dataFrame的列。如果比较多又不允许换行,就会显得很乱。

3、pd.set_option(‘precision’, 5)
显示小数点后的位数

4、pd.set_option(‘large_repr’, A)
truncate表示截断,info表示查看信息,一般选truncate

5、pd.set_option(‘max_colwidth’, 5)
最大列长度
6、pd.set_option(‘chop_threshold’, 0.5)
绝对值小于0.5的显示0.0

7、pd.set_option(‘colheader_justify’, ‘left’)
显示居中还是左边

8、pd.set_option(‘display.width’, 200)
横向最多显示多少个字符, 一般80不适合横向的屏幕,平时多用200.


索引设置

修改行索引

.index = [‘a’,’b’]

  1. >>> import pandas as pd
  2. >>> import numpy as np
  3. >>> pd.DataFrame(np.arange(6).reshape(2,3))
  4. 0 1 2
  5. 0 0 1 2
  6. 1 3 4 5
  7. >>> data = pd.DataFrame(np.arange(6).reshape(2,3))
  8. >>> data.index = ['a','b']
  9. >>> data
  10. 0 1 2
  11. a 0 1 2
  12. b 3 4 5

以当前的某一列作为索引

.set_index

  1. >>> a = pd.DataFrame({'a': range(7),'b': range(7, 0, -1),'c': ['one','one','one','two','two','two', 'two'],'d': list("hjklmno")})
  2. >>> a
  3. a b c d
  4. 0 0 7 one h
  5. 1 1 6 one j
  6. 2 2 5 one k
  7. 3 3 4 two l
  8. 4 4 3 two m
  9. 5 5 2 two n
  10. 6 6 1 two o
  11. >>> a.set_index(['c','d'])
  12. a b
  13. c d
  14. one h 0 7
  15. j 1 6
  16. k 2 5
  17. two l 3 4
  18. m 4 3
  19. n 5 2
  20. o 6 1

如果希望a这一列在dataframe中仍然存在,则.set_index(‘a’, drop=Flase)

修改列索引

方式一:columns属性

  1. # ①暴力
  2. df.columns = ['a', 'b', 'c', 'd', 'e']
  3. # ②修改
  4. df.columns = df.columns.str.strip('$')
  5. # ③修改
  6. df.columns = df.columns.map(lambda x:x[1:])

方式二:rename方法、columns参数

  1. # ④暴力(好处:也可只修改特定的列)
  2. df.rename(columns=('$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True)
  3. # ⑤修改
  4. df.rename(columns=lambda x:x.replace('$',''), inplace=True)

Series 复合索引

例如这个Series,想要索引取到0,可以a[‘one’][h],也可以a[‘one’,’h’]

  1. >>> a
  2. a
  3. c d
  4. one h 0
  5. j 1
  6. k 2
  7. two l 3
  8. m 4
  9. n 5
  10. o 6