numpy
数组的拼接
数组的行列交换
竖直拼接的时候要注意:每一列代表的意义相同,若每一列的意义不同,这时应该交换某一组数的列,让其和另外一类相同
numpy更多好用的方法
numpy生成随机数
numpy的注意点copy和view
1.a=b完全不复制,a和b相互影响
2.a=b[:],视图的操作,一种切片,会创建新的对象a,但是a的数据完全由b保管,它们两的数据变化是一致的
3.a=b.copy(),复制,a和b互不影响
numpy中常用统计函数
(标准差是一组数据平均值分散程度的一种度量,一个较大的标准差,代表大部分数值和其平均值之间差较大,一个较小的标准差代表这些数值较接近平均值,反映出数据的波动稳定情况,越大表示波动越大,越不稳定)
numpy中的nan和inf
nan:not a number表示不是一个数字
出现nan的情况:当读取本地的文件位float的时候,如果有缺失,就会出现nan;当做了一个不合适的计算的时候(比如无穷大(inf)减去无穷大)
inf(-inf,inf):infinity,inf表示正无穷,-inf表示负无穷
出现inf(包括-inf,+inf)的情况:比如一个数字除以0(python中会直接报错),numpy中是一个inf或者-inf
nan
如果在一组数据中单纯把nan替换为0,替换之前的平均值如果大于0,替换之后的均值肯定会变小,所以更一般的方式是把缺失的数值替换为均值(中值)或者是直接删除有缺失值的一行
总结
pandas
pandas的常用数据类型:
1.Series 一维,带标签数组
2.DataFrame 二维,Series容器
Series
Series创建
Series切片和索引
Series的索引和值
Series对象本质上由两个数组构成,一个数组构成对象的键(index,索引),一个数组构成对象的值(values),键->值
pandas读取外部数据
数据存在csv中,直接使用pd.read_csv即可
数据库比如mysql中的数据的使用方法:pd.read_sql(sql_sentence.connection)
DataFrame
DataFrame创建
DataFrame基本属性
取行或者列
取前20行的数据
取列的数据
注意点:
1.方括号写数字,表示取行,对行进行操作
2.写字符串,表示取列索引,对列进行操作
loc和iloc
布尔索引
如果有多个条件,条件需要分开写(用&(且)|(或)符号)
不同的条件之间需要用括号括起来
字符串方法
对于缺失数据的处理
判断数据是否为NaN:pd.isnull(df),pd.notnull(df)
处理方法1:删除NaN所在的行列dropna(axis=0,how='any',inplace=False)
处理方法2:填充数据,t.fillna(t.mean()),t.fiallna(t.median()),t.fillna(0)
处理为0的数据:t[t==0]=np.nan