Pandas:一些常用的代码(不断更新)
程序员文章站
2024-03-23 16:50:52
...
学了一段时间机器学习,发现很多代码都看不懂,或者看懂了过一会又忘了,反映出自己基本模块知识的匮乏,决定还是先回过头把Numpy、Pandas、Matplotlib学习好基础再继续。
弄几个篇幅,专门讲这三个模块的一些常用代码,希望后续自己不要再忘了!
2019年4月1日
使用表格如下图所示:
import pandas as pd
import numpy as np
excel = pd.read_excel('门店3月销售情况.xlsx') #如果是多个sheet的话,就是pd.read_excel(filename, sheetname)
#1、基本操作
print(help(excel.pivot_table)) #看pivot_table的说明文档
print(excel.columns) #打印excel的列名
print(excel[['门店','代理商','移动销量']]) #打印excel的三列'门店'、'代理商'、'移动销量'
#2、行筛选
print(excel[excel['门店'].str.contains("千秋")]) #门店包含'千秋'两个字的所有行
print(excel[excel['代理商'] == '千秋']) #选择代理商是千秋的所有行
print(excel[excel['宽带销量'] < 5]) #选择所有宽带销量小于5线的行
print(excel[(excel['代理商'] == '自营') & (excel['宽带销量'] > 5)]) #选择所有宽带销量大于5且代理商是自营的行
print(excel[(excel['代理商'] =='千秋') | (excel['代理商'] == '宁皙')]) #选择所有代理商是千秋或宁皙的行
print(excel[excel['代理商'].isin(['千秋', '宁皙'])]) #选择所有代理商是千秋或宁皙的行
print(excel[excel['代理商'] != '自营']) #选择所有代理商不是自营的行
print(excel[~excel['代理商'].isin(['自营', '千秋'])]) #选择所有代理商不是自营或千秋的行
#3、数据透视表
print(excel.pivot_table(index='代理商', values='移动销量', aggfunc='sum', margins=True)) #做数据透视表,求每个代理商的移动销量和,并做合计
print(excel.pivot_table(index=['代理商'], values=['门店', '移动销量', '宽带销量'], aggfunc={'门店':len, '移动销量': sum, '宽带销量': np.mean})) #求每个代理商的门店个数、移动销量和,以及宽带平均销量