pandas 常用方法
来源:互联网 发布:网易广州网签数据 编辑:程序博客网 时间:2024/06/06 12:25
1.布尔筛选data.loc[(data['a'] ==a1)&(data ['B'] ==b1),['A','B']]2.data.apply ( func, axis=0)#axis=0 defines that function is to be applied on each column3.#对于类别变量 填补缺失值from scipy.stats import modemode(data['Gender'])data['Gender'].fillna(mode(data['Gender']).mode[0], inplace=True)4.#利用多元变量组合 对 其他变量分类 创建透视表impute_grps = data.pivot_table(values=["LoanAmount"], index=["Gender","Married","Self_Employed"], aggfunc=np.mean)5.利用上面的分类情况 填补缺失值#iterate only through rows with missing LoanAmountfor i,row in data.loc[data['LoanAmount'].isnull(),:].iterrows(): ind = tuple([row['Gender'],row['Married'],row['Self_Employed']])#得到缺失值所对应的三元组 data.loc[i,'LoanAmount'] = impute_grps.loc[ind].values[0]#查询 多维索引6.#crosstab 用于可视化 一个取值做行标签一个做列标签 查看相关关系pd.crosstab(data["Credit_History"],data["Loan_Status"],margins=True)7.#merge合并8.#排序data_sorted = data.sort_values(['ApplicantIncome','CoapplicantIncome'], ascending=False)9.#plotting(Boxlplot Histogram) 比较分布 ApplicantIncome(通过 Loan_Status分类)查看不同取值对分布有无影响%matplotlib inlinedata.boxplot(column="ApplicantIncome",by="Loan_Status")data.hist(column="ApplicantIncome",by="Loan_Status",bins=30)10 分组pd.cut() :传入三个切分点四个标签分为四组 用于变量分组离散化def binning(col, cut_points, labels=None): minval = col.min() maxval = col.max() break_points = [minval] + cut_points + [maxval]#连接列表 五个值 if not labels: labels = range(len(cut_points)+1) colBin = pd.cut(col,bins=break_points,labels=labels,include_lowest=True) return colBin#Binning age:cut_points = [90,140,190]labels = ["low","medium","high","very high"]data["LoanAmount_Bin"] = binning(data["LoanAmount"], cut_points, labels)#创建新特征print pd.value_counts(data["LoanAmount_Bin"], sort=False)11.编码标称数据 Low/low...对于输入有误意思一样的数据统一标示,细粒度区分合并 或者是变成数值型便于模型利用#Define a generic function using Pandas replace functiondef coding(col, codeDict): colCoded = pd.Series(col, copy=True) for key, value in codeDict.items(): colCoded.replace(key, value, inplace=True) return colCoded #Coding LoanStatus as Y=1, N=0:print 'Before Coding:'print pd.value_counts(data["Loan_Status"])data["Loan_Status_Coded"] = coding(data["Loan_Status"], {'N':0,'Y':1})print '\nAfter Coding:'print pd.value_counts(data["Loan_Status_Coded"])12.#防止变量类型不正确引起的麻创建一个带有列名和类型的csv文件,用通用函数来读取文件并分配列数据类型
- 具有数字类别的类别变量被视为数字。
- 在其中一行中输入的字符(由于数据错误)的数字变量被认为是分类的
加载该文件后,我们可以遍历每一行,并使用列“type”将数据类型分配给“feature”列中定义的变量名。for i, row in colTypes.iterrows(): #i: dataframe index; row: each row in series format if row['type']=="categorical": data[row['feature']]=data[row['feature']].astype(np.object) elif row['type']=="continuous": data[row['feature']]=data[row['feature']].astype(np.float)print data.dtypes
阅读全文
0 0
- pandas常用的方法
- pandas 常用统计方法
- pandas 常用方法
- pandas/numpy常用方法/属性
- Pandas中常用的方法
- Python pandas数据分析中常用方法
- 学习笔记三、pandas包中常用方法整理
- pandas常用操作
- Pandas常用操作
- pandas 常用函数
- python~pandas常用代码
- Pandas常用操作
- pandas 常用操作
- Pandas常用笔记
- pandas常用功能整理
- pandas常用函数
- pandas常用函数
- Python-pandas常用函数
- UVA
- 包装类
- websocket客户端代码示例
- eclipse常用快捷键
- 2017.8.10
- pandas 常用方法
- 安卓三级缓存的相关知识
- java中==和equals的区别
- spring-data-mongodb之查询
- linux内核开发示例
- 2017杭电多校第六场03Inversion
- 关于Unity Dropdown控件的使用心得
- SpringMVC+Mybatis+Redis+MySql+Maven
- NDK开发学习笔记(1):JNI开发步骤及遇到的问题详解