pandas模块(很详细归类),pd.concat(后续补充)


6.12自我总结

一.pandas模块

import pandas as pd约定俗称为pd

1.模块官方文档地址

https://pandas.pydata.org/pandas-docs/stable/?v=20190307135750

2.对一维的数据处理成列表

1.pd.Serirs功能

import numpy as np
import pandas as pd

arr = np.array([1, 2, 3, 4, np.nan, ])
s = pd.Series(arr)
print(s)
#也可以不转换,但是转换后可以减少内存,尽量进行转换
# arr = np.array([1, 2, 3, 4, np.nan, ])
s = pd.Series([1, 2, 3, 4, np.nan, ])
print(s)

3.对二维数据处理成列表

1.pd.DataFrame功能

df = pd.DataFrame(数据内容,index=纵坐标,columns=横坐标)#数据内容必须是列表或者np.array格式,尽量用np.array格式减少内存
#生成的数据列表预定俗称最好命名成df
#对df的取值

2.pd.DataFrame参数表

属性 详解
dtype 查看数据类型
index 查看行序列或者索引
columns 查看各列的标签
values 查看数据框内的数据,也即不含表头索引的数据
describe 查看数据每一列的极值,均值,中位数,只可用于数值型数据
transpose 转置,也可用T来操作
sort_index 排序,可按行或列index排序输出
sort_values 按数据值来排序

4.df进行取值和简单处理

1.df.index

取纵坐标

2.df.columns

取横坐标

3.df.values

取填入的数据并且为array格式

4.df.describe()

计数列表的各个列的个数,最大值,最小值等等

5.df.T

横纵坐标进行对调

6.df.sort_index(axis=0)

根据axis=0或者1按照横坐标或者纵坐标进行排序

7.df.sort_values('按照的对象名称')

按照值进行排序,默认是竖着排序,也可以通过设置axis=0或者1进行修改,默认升序

8.df里的值按行取行

取单行:用切片进行df[0:1]取第一行,但是开始的话横纵坐标是不算在里面的,这里是横坐标的索引

取多行:df.loc[起始横坐标:结束横坐标] 必须是横坐标,纵坐标的名称而不去索引,前后可以相同就取起始横坐标这一行

9.df里的值按列取取列

取某一列,df[这列的对应的横坐标]

取多列,df[[第一列的对应的横坐标,第二列的对应的横坐标]]以此类推

10.df里面按行取值

按行取值df.iloc[2, 1] 第3行第二个

11.df取某个区域

df.iloc[1:4, 1:4] 横坐标是,第2个到第5个,纵向是第二个到第五个

12.df取某个位置的一个值

df['横坐标名称']['纵坐标名称']

df.loc['纵坐标名称','横坐标名称']

13.逻辑取值

df[df['c1'] > 0] 结合上面取值进行判断

14.替换值

结合上面取值进行替换

5.df.dropna

1.df.dropna(axis=1)

axis进行行列选择,横着加还是竖着加

2.df.dropna(thresh=4)

删除行不为4个值的

3.df.dropna(subset=['c2'])

删除c2中有NaN值的数据

6.df重空值进行添加

df.fillna(value=10)空值填充10

7.df进行合并

1.pd.concat((df1, df2), axis=1)

合并行列都可以由axis控制

2.df1.append(df2)

append只能合并列