[python]python pandas 模块
一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作。
Pandas所支持的数据类型:
1. float
2. int
3. bool
4. datetime64[ns]
5. datetime64[ns, tz]
6. timedelta[ns]
7. category
8. object
默认的数据类型是int64,float64.
pandas.show_versions()#显示pandas以及所依赖的模块的版本
导入数据:
import pandas
csv_df=pandas.read_csv('D:\\zzj\\11_programfile\\learn\\file\\pandas\\csv_test.csv') #f返回一个DataFrame
excel_df=pandas.read_csv('D:\\zzj\\11_programfile\\learn\\file\\pandas\\excel_test.xls')
csv_df0=csv_df.ix[0] #获取第一行数据
print(csv_df0)
导出数据:
df.to_excel('excel.xlsx', sheet_name='mysheet1')df.to_csv('cvs1.csv')
系列:Serlies
系列是具有均匀数据的一维数组结构,;特点:均匀数据、尺寸大小不变、数据的值可变
s=pandas.Series([1,2,3])
数据帧 DataFrame
用列表定义:
df=pandas.DataFrame([[1,2,3],[4,5,6],[7,8,9]]);
df.index=['row1','row2','row3'] #定义行标题,默认 0、1、2……
df.columns=['col1','col2','col3'] #定义列标题,默认 0、1……
row_a=df.ix[0:2] #获取第0、1行
row_b=df.ix['row1':'row2'] #获取第0、1行
col_a=df['col1'] #获取第col1列
col_b=df[['col1','col3']]#获取 col1、col3列
cut_a=df.ix[0:2,['col1','col3']] #获取第0、1行的col1、col3列
df['col4']=4 #增加列
del df['col4'] #删除列
head=df.head(5)#获取前5行值
tail=df.tail(3)#获取后3行值
index=df.index 查看行索引
col=df.columns #查看表头
df.values #转化为数组格式
dim=df.shape #查看维度信息
info=df.info()#数据表基本信息(维度、列名称、数据格式、所占空间等)
datatype=df.dtypesdatatype=df['col1'].dtype
unique=df['col1'].unique() #查看某列的唯一值
df.fillna(value=0) #用指定值填充空值
desc=df.describe()#查看数据整体概况,和、平均值、最大、最小等
t=df.T #转置
df_sort_by_index=df.sort_index(axis=1, ascending=False)df_sort_by_value=df.sort_values(by=['col2'])#排序
df[‘col1’].astype('int') #转换列类型
df_drop=df['col1'].drop_duplicates()#删除重复值
df_replace=df['col1'].replace(1,0)#替换
df_inner=pandas.merge(df,df1,how='inner') #内连接 df_left=pandas.merge(df,df1,how='left') #左连接 #df_right=pandas.merge(df,df1,how='right')#右连接df_outer=pandas.merge(df,df1,how='outer') #全连接
df['group'] = numpy.where(df['col1'] > 1,'high','low')
df_query=df.query('col1==1') #按条件查询
cnt=df.groupby('col1').count()#cnt=df.groupby('col1')['col2'].count()#按指定字段(col2)进行计数
cnt.groupby(['col1','col2'])['col3'].count()
df_inner.sample(n=6, replace=False)
df_sample=df.sample(n=2, replace=False)#采样 replace:是否放回
cov=df['col1'].cov(df['col2']) #计算两列的协方差
cov=df.cov() #所有字段间的协方差
corr1=df['col1'].corr(df['col2']) #相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关corr=df.corr()
日期:
datelist = pandas.date_range('2016/01/21', periods=5,freq='M')
datelist = pandas.bdate_range('2018/07/03', periods=5)#不包括周六、周日
cat=pandas.Categorical(['a','b','c','a','b','c','d'], ['c', 'b', 'a'],ordered=True) #创建分类
检查缺失值
df.isnull()
df['name'].isnull() #检查缺失值
df['name'].notnull() #检查非缺失值
df['name'].isnull().values.any()#指定列是否存在缺失值
df.isnull().any() #各个列是否存在缺失值
df.isnull().values.any() #整个dataframe事发后存在缺失值
df['name'].isnull().sum() #指定列有多少缺失值
df.isnull().sum().sum() #整个dataframe有多少缺失值
分类:
a=pandas.Categorical(["test","train","test","train"])
时间方法:
a=pandas.Timestamp('20180701')
索引类型:
dates=pandas.date_range('20130101', periods=6)
解决无法读取中文的问题:
pandas.read_csv(file_path,engine='python')
或者:
file=open(file_path)data_df=pandas.read_csv(file)
Pandas 中map, applymap and apply的区别:
apply: 想让方程作用在一维的向量上时,可以使用apply来完成; DataFrame或Panel的轴应用任意函数,它与描述性统计方法一样,采用可选的轴参数。 默认情况下,操作按列执行,将每列列为数组
applymap: 作用于DataFrame中的每一个元素
map: 将函数作用于一个Series的每一个元素
[python]python pandas 模块相关推荐
- python使用pandas模块介绍以及使用,dataframe结构,Series结构,基本数据操作,DataFrame运算,pandas画图,存储,缺失值处理,离散化,合并
目录 1 pandas介绍 1.1 Pandas介绍 1.2 为什么使用Pandas 1.3 案例:在numpy当中创建的股票涨跌幅数据形式 1.4 DataFrame 1.4.1 DataFrame ...
- python读写excel模块pandas_Windows下Python使用Pandas模块操作Excel文件的教程
安装Python环境ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等.更重要的是,不论在哪个平台上 ...
- 利用python中pandas模块分析微信账单
pandas库的常用语法 Pandas库常用语法_进击的西西弗斯的博客-CSDN博客_data.loc[:].copy语法 pandas库读取excel 使用pandas读取excel_KevinHo ...
- 【Python】pandas模块操作大型数据集
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们 ...
- python安装pandas模块-python安装numpy和pandas的方法步骤
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...
- 数据分析用Python的Pandas模块读写Excel数据及一些实用的变换、排序、筛选、清洗、列拆分、表合并及相关的坑
为了学习Pandas的用法,在网上查了很多帖子,但大部分帖子都是搬运工,不是太简单就是太复杂,不直观,似乎得是行家才行,而且没有讲到有实际意义的时候,就已经断片儿了,在这里分享一些完全是自己的数字+亲 ...
- 【Python】pandas模块中更改Series的数据类型
今天我们主要解决以下实际问题:一份黑名单数据存储在excel中,由于数据量庞大,现需要通过pandas找到某一列的重复数据,处理后再存入到excel中. pandas 是基于NumPy 的一种工具,该 ...
- L:python的Pandas模块:实例练习(泰坦尼克号数据集分析,电影票房统计,股票基本面统计)
实例练习 泰坦尼克号数据集分析 使用Seaborn库中包含的titanic数据集进行一些数据统计. Seaborn是一个图形库,Anaconda已包含此库.数据集参见: https://github. ...
- 如何用python中pandas模块在csv文件中添加表头
话不多说,直接上代码: import pandas as pd df = pd.read_csv('tf.csv',header=None,names=['a','b','c','d','e','f' ...
- python 数据分析模块_Python数据分析pandas模块用法实例详解
本文实例讲述了Python数据分析pandas模块用法.分享给大家供大家参考,具体如下: pandas pandas10分钟入门,可以查看官网:10 minutes to pandas 也可以查看更复 ...
最新文章
- mcgs组态软件中字体如果从左到右变化_昆仑通态专题(十一):MCGS嵌入式组态软件的脚本程序...
- Java Review - 并发组件ConcurrentHashMap使用时的注意事项及源码分析
- 第十八节:跨域请求的解决方案和WebApi特有的处理方式
- UIButton和UIimageView
- 怎样把坐标系中的某个点在另外一个坐标系中描述出来
- 什么是数据库并发控制?数据库并发控制的主要方法是?
- 图 —— 特殊状态下的讨论
- android RecyclerView实战
- LeetCode93 Restore IP Addresses
- android棋牌游戏实例,提供源码。
- 《梦幻西游手游》分析报告
- 著名TED演讲 《用肢体语言塑造你自己》 - Amy Cuddy
- SOLD2算法之3: 特征点与heatmap结合检测有效线段(CVPR 2021)
- 高德地图开放平台概览
- 扁平化设计(Flat Design)
- Android - Windows 多样化投屏方案
- r语言绘制精美pcoa图_R数据可视化4: PCA和PCoA图
- 二进制1010.0101转换为十进制
- android10rom包,安卓10的刷机教程,教你刷好Killer的精简包
- java lang arithmetic_java.lang.ArithmeticException: Rounding necessary
热门文章
- C#资源,自定义控件等
- 在EXCEL中使用SQL语言对工作表进行操作
- Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action
- C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标
- POJ 1751 Highways (kruskal)
- mac Zip 常用命令
- Servlet学习-MVC开发模式
- C#中字符串转换成枚举类型的方法
- 关于.NET中socket中的异步套接字的研究二
- 无线网卡802.11n、 Intel 5100 AGN