-
安装
pip install pandas
-
设定系统环境
import pandas as pd
pd.options.display.max_rows = 10
pd.__version__
-
进入jupyter notebook 页面
- 在终端中输入:juypter notebook
- 选择一个连接
- 创建一个文件
-
Series对象创建
- Series对象创建:一维数组,与Numpy中的一维array类似。类似于一维数组的对象,是由一组数据以及一组与之相关的数据标签(即索引)组成。
- 仅由一组数据也可产生简单的Series 对象。用值列表生成 Series 时,Pandas 默认自动生成整数索引。
import pandas as pd
import numpy as np
data=pd.Series([3,4,7,2,5,9,8])
data
- pandas中两个重要的属性 values 和index,values:是Series对象的原始数据。index:对应了Series对象的索引对象。
data.index
data.values
data=pd.Series([3,4,7,2,5],index=['yi','er','san','si','wu'])
data
data=pd.Series([4,3,2,1],index=list('abcd'))
data
a_dict={'aa':3000,'bb':5000,'cc':6000}
a_Series=pd.Series(a_dict)
a_Series
b_series=pd.Series(a_dict,index=['aa','cc'])
b_series
c_series=pd.Series(a_dict,index=['bb','dd'])
c_series
data=pd.Series(10,index=list('abcd'))
data
-
DataFrame对象创建
- 是 Pandas 中的一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等)
- DataFrame 即有行索引也有列索引,可以被看做是由 Series 组成的字典。将两个series对象作为dict的value传入,就可以创建一个DataFrame对象。
a_dict={'aa':3000,'bb':5000,'cc':6000}
b_dict={'dd':120,'ee':350,'ff':670}
a=pd.Series(a_dict)
b=pd.Series(b_dict)
c=pd.DataFrame({'aa':a,'bb':b})
c
c.index
c.values
c.columns
a_dict={'aa':3000,'bb':5000,'cc':6000}
b_dict={'aa':120,'bb':350,'cc':670}
a=pd.DataFrame([a_dict,b_dict])
a=pd.DataFrame([a_dict,b_dict],index=['value1','value2'])
a_dict={'aa':3000,'bb':5000,'cc':6000}
a=pd.Series(a_dict)
pd.DataFrame(a,columns=['named'])
pd.DataFrame(np.random.randint(0,10,(3,2)),columns=list('ab'),index=list('efg'))
ind=pd.Index([2,3,4,5,6])
ind[3]
ind[::2]
-
导入Excel文件
- 使用read_excel()方法导入文件,首先要指定文件的路径。使用Pandas模块操作Excel时候,需要安装openpyxl。
pd.read_excel('a.xlsx',sheet_name='Target')
pd.read_excel('a.xlsx',sheet_name='0')
pd.read_excel('a.xlsx',sheet_name='0',index_col=0)
pd.read_excel('a.xlsx',sheet_name='0',header=1)
pd.read_excel('a.xlsx',sheet_name='0',header=None)
pd.read_excel('a.xlsx',usecols=[1,2,3])
-
导入csv文件
- 导入csv文件时除了指明文件路径,还需要设置编码格式。Python中用得比较多的两种编码格式是UTF-8和gbk,默认编码格式是UTF-8。
- 我们要根据导入文件本身的编码格式进行设置,通过设置参数encoding来设置导入的编码格式。
pd.read_csv('b.csv',encoding='gbk')
df=pd.read_csv('b.csv',encoding='gbk',sep=' ')
df=pd.read_csv('b.csv',encoding='gbk',sep='_')
-
导入txt文件
- 导入.txt文件方法是read_table(),read_table()是将利用分隔符分开的文件导入。
- DataFrame的通用函数。它不仅仅可以导入.txt文件,还可以导入.csv文件。
pd.read_table('c.txt',encoding='utf-8',sep='\t'
pd.read_table('d.csv',encoding='gbk',sep=','
-
列操作
a_dict={'aa':3000,'bb':5000,'cc':6000}
b_dict={'aa':120,'bb':350,'cc':670}
a=pd.DataFrame([a_dict,b_dict])
na=['a','b','c']
a.columns=na
a.rename(columns={'a':'a1','b':'b1'},inplace=True)
a[['a1']]
a[['a1','b1']]
a.drop(columns=['a1','b1'])
v1=1
v2=2
c1='na1'
c2='na2'
a['cloumn']=pd.Series([v1,v2],index=[0,1])
a['cloumn']=a['c']+a['cloumn']
-
变量类型的转换
- float
- int
- string
- bool
- datetime64[nsr]
- datetime64[nsr,tz]
- timedelta[ns]
- category
- object
a_dict={'aa':3000,'bb':5000,'cc':6000}
b_dict={'aa':120,'bb':350,'cc':670}
df=pd.DataFrame([a_dict,b_dict])
df
df['aa'] = df['aa'].astype(float)
df
df['aa'] = df['aa'].astype(int)
df
df['aa'] = df['aa'].astype(str)
df
df['aa'] = df['aa'].astype(bool)
df
df['aa'] = pd.to_datetime(df['aa'])
df['aa'] = pd.to_datetime(df['aa']).dt.tz_localize('UTC')
df['aa'] = pd.to_timedelta(df['aa'])
df['aa'] = df['aa'].astype('category')
df
df['aa'] = df['aa'].astype(object)
df