作为一个统计研究dog,决定开个博客,希望能够坚持写下去呢。今天简单的记录下Python中与统计知识以及数据分析所能用到最基础的方法。
数据整理
Pandas
提供DataFrame数据结构,与R中的data.frame类似。内含常用的分组统计,缺失值处理等操作,包括DataFrame的读写和各种类型的转换。
import Pandas as pd
读取数据
df=pd.read_csv('文件路径') #df.head()看头 df.tail()看尾 df.describe()数据具体描述 df.info()数据类型
数据基本处理
df('列名')#读取列名下数据
df('').mean()#求该列平均
df['新列']= df[''] > df[''].mean() #条件创建新列
df.groupby('列名').mean() #以列名为索引对表中全部数据分组统计均值 .sum()总和 .size()数量
df.groupby('列名')['需要处理的列'].agg({sum:np.sum,count:np.size}) #通常放入字典中,用处非常大
df['新变量'] = df['列名'].map({ '变量a':0,'变量b':1}) #哑变量赋值
Numpy
提供向量,数组和矩阵类型,支持向量化运算。
import numpy as np
python向量对应相加用np.array()调用,简单的向量相加只会让向量取合集。
v = [1, 2, 3,4]
w = [5,4,3,2]
v + w #输出结果[1, 2, 3,4,5,4,3,2] 输入对应输出list<->list
v = np.array([1, 2, 3,4])
w = np.array([5,4,3,2])
v + w #输出结果 array([6, 6, 6,6]) 输入对应输出array<->array
np.array()中放入多个向量,则相同维度对应的数组相加/乘,与R类似。
np.mat()中放入多个向量,则遵循矩阵乘法。
np.sum(np.mat([],[],[]), axis=0).tolist() #axis=0表示同列汇总axis=1,表示同行汇总 .tolist将原本为矩阵的结果转换为列表。