单词:
describe

1.创建dataframe (二维)

注意:
dataframe 由多个Series构成,结构类似,打印时不要用print,会影响整体输出美观
每列元素的类型type(frame[‘year’])就是Series
frame[[‘year’]]则是dataframe

导入包:

  1. import numpy as np
  2. import pandas as pd

1.创建:

  1. frame=pd.DataFrame(数据, columns=[列索引], index=[行索引])
  2. 嵌套字典创建(外层key是列名,内层key是行名)


  1. # 用字典创建dataframe
  2. data = {'city': ['北京', '北京', '北京', '上海', '上海', '上海'],
  3. 'year': [2000, 2001, 2002, 2001, 2002, 2003],
  4. 'population': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
  5. frame = pd.DataFrame(data)
  6. frame
  7. city year population
  8. 0 北京 2000 1.5
  9. 1 北京 2001 1.7
  10. 2 北京 2002 3.6
  11. 3 上海 2001 2.4
  12. 4 上海 2002 2.9
  13. 5 上海 2003 3.2

嵌套字典创建(外层key是列名,内层key是行名)

2.索引:

2.通过对列的索引位置交换可以改变排列:
pd.DataFrame(data, columns=[‘year’, ‘city’, ‘population’])
3.对于字典创建的数据在输入列索引columns时,可以添加多个索引,值为NaN
4.列索引多了不会报错,但是行索引多了会报错

  1. frame2= pd.DataFrame(data,columns=['year','city', 'population', 'debt'],
  2. index=['a', 'b', 'c', 'd', 'e', 'f'])

3.方法

  1. df.info() #对象类型, 行数据量,列数,每列的非空数据, 数据类型,各种类型的个数,占用空间的大小
  2. df.decribe(include=object) #默认数值型数据.加上include字符串也可以描述
  3. df.head()
  4. df.tail()
  5. pd.read_csv(文件路径)
  6. pd.read_excel()
  7. pd.to_csv()

2.索引

df[[列]]
df.列名
df.loc[行,列] #以行/列名查看
df.iloc[行,列] # 以数字查看
布尔索引:
一般根据下标索引,布尔索引可以按照真假来索引.
外层数据data[ bool值]传入的真假个数必须与外层数据个数相同.
通过比较运算符得到bool值,

  1. df['列名']
  2. df.列名 #只能提取列,不能用它创建新列
  3. df[['列名']]
  4. df.loc[行,列]
  5. df.iloc[] #integer

3.空值|重复值处理

参数:subset=[列名,列名],指定几个列去判断删除

删除空值 | 重复值

  1. df.isnull() 判断空值
  2. df.dropna(how="any | all",axis=0|1 ,inplace,subset=['','']) 删除空值
  3. df.fillna(val | {列名:'填充值'},method='ffill',limit=n) #填充空值
  4. df.duplicated() 判断重复值
  5. df.drop_duplicates(keep='first'|'last',subset=[]) 删除重复值

4.重置索引

  1. df.set_index() 把某一列作为索引
  2. df.reset_index(drop=) 把索引重置(0-n),drop参数:是否把现在的索引当成你的列,相当于多了一个列.

5.重置列名

  1. df.rename(columns={旧列名:新列名})
  2. df.columns=[]

6.删除列:

  1. df.drop(lables=[],inplace= ,axis=)
  2. del df[]
  3. df.replace()