python中pandas框架学习

pandas简介:

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

pandas数据结构:

1、series:

(1)构建series:

一维数组,与numpy中array类似,series中可以保存的数据类型:字符串、布尔、数字等。
#默认情况下,索引自增,也可以指定索引

~~~import pandas as pd
#创建一维数组
data=[10,20,30,40,50]
index=['a','b','c','d','e']
series1=pd.Series(data)
series2=pd.Series(data,index)
print('series1是:',series1)
print("series2是:",series2)

#结果:
series1是: 0    10
1    20
2    30
3    40
4    50
dtype: int64
series2是: a    10
b    20
c    30
d    40
e    50
dtype: int64
(2)series属性使用:
series1.index.name="索引"
series1.name="数据"
print(series1)
print("!!!!!!!!",series1.values)
print("???????",series1.index)
#结果:
索引
0    10
1    20
2    30
3    40
4    50
Name: 数据, dtype: int64
!!!!!!!! [10 20 30 40 50]
??????? RangeIndex(start=0, stop=5, step=1)
###### (3)series按索引取值:
series3=pd.Series({'a':[1,2],'b':[2,3],'c':[3,4],'d':[4,5]})
print(series3["a"])
print(series3[["a","d"]])
print(series3["a":"c"])

结果:
python中pandas框架学习_第1张图片

#使用下标进行索引取值:
print(series3[0])
print(series3[[0,3]])
print(series3[0:3])

#结果:
python中pandas框架学习_第2张图片

使用布尔series进行索引
series4=pd.Series([1,2,3,4,5],["a","b","c","d","e"])
print(series4>3)
print(series4[series4>3])
#结果:

python中pandas框架学习_第3张图片

2、time-series:

以时间为索引的series

3、DataFrame:

二维表格型数据结构,可理解为series的容器
(1)通过字典创建DataFrame

obj_dict={'a':[1,2],'b':[2,3],'c':[3,4],'d':[4,5]}
obj_dataframe_dict=pd.DataFrame(obj_dict)#通过字典创建dataframe
print(obj_dataframe_dict)
#结果:

在这里插入图片描述
(2)通过矩阵创建DataFrame

注意:利用矩阵,索引必须和数据行数一致
obj_array=np.array([[1,2,3,4],[3,4,5,6]])  #矩阵[[1 2 3 4]
                                                						#[3 4 5 6]]
obj_dataframe_array=pd.DataFrame(obj_array,index=['one','two'],columns=["数据1","数据2","数据3","数据4"])#通过矩阵创建dataframe,并制定字段名
print(obj_dataframe_array)
#结果:

在这里插入图片描述
(3)通过多个series创建:

索引必须和数据行数一致
series1=pd.Series([1,2,3,4,5])
series2=pd.Series(["a","b","c","d","e"])
df=pd.DataFrame([series1,series2])
print(series1,series2)
print(df)
#结果:

python中pandas框架学习_第4张图片
(4)通过DataFrame创建:(借用(3)中df)

利用dataFrame创建dataFrame时候,index和原来dataframe的index一致的可以获取到数据,如果超出原数据index,自动补空
df_dataframe=pd.DataFrame(df,index=[0,1,2,3],columns=[1,2,3,4,"数据5"])  #使用dataframe创建dataframe
print(df_dataframe)
#结果:

python中pandas框架学习_第5张图片

例如:
(1)新建dataFrame,index超出原df中index

df_dataframe=pd.DataFrame(df,index=[4,5,6],columns=[1,2,3,4,"数据5"])  #使用dataframe创建dataframe
print(df_dataframe)
#结果:

python中pandas框架学习_第6张图片
(2)新建dataFrame,columns超出原df的columns

df_dataframe=pd.DataFrame(df,index=[0,1,2],columns=[4,"数据1","数据5"])  #使用dataframe创建dataframe
print(df_dataframe)
#结果:

python中pandas框架学习_第7张图片

4、panel:三维数组,理解为DataFrame的容器

DataFrame用法

dataframe的一些属性:
df_dataframe=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],index=[0,1,2],columns=["apple","banana","orange"])  #使用dataframe创建dataframe
print(df_dataframe)
print("################")
print(df_dataframe.index)
print(df_dataframe.columns)
print("!!!!!!!!!!!!!!!")
print(df_dataframe.dtypes)
print(df_dataframe.values)
#结果:

python中pandas框架学习_第8张图片

#修改index属性值(借用上面的df_dataframe)
df_dataframe.index=["hehe","haha","lele"]
df_dataframe.columns=["one","two","three"]
print(df_dataframe)
#结果

python中pandas框架学习_第9张图片

从dataFrame中取值
(1)取dataFrame中某一个值
df_dataframe=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],index=[1,2,3],columns=["apple","banana","orange"])  #使用dataframe创建dataframe
print(df_dataframe["apple"][1])
#结果:
1
(2)取某行数据,多行数据
a:索引取值:
print(df_dataframe.loc[1])  #这里的1表示索引
print("&&&&&&&&&&&&&&&&")
print(df_dataframe.loc[2,"apple":"orange"])
#结果:

python中pandas框架学习_第10张图片

print(df_dataframe.ix[1,"apple":"orange"])
#结果:

在这里插入图片描述
b:索引下标取值(iloc)

print(df_dataframe.iloc[2])#此时的2是index的下标
#结果:

在这里插入图片描述
c:直接获取多行数据

print(df_dataframe.head(2))  #获取前两行数据
print("!!!!!!!!!!!!")
print(df_dataframe.tail(2))  #获取后两行数据
#结果:

python中pandas框架学习_第11张图片
d:根据条件取行多列值

print(df_dataframe[df_dataframe.apple>1])
#结果:

在这里插入图片描述

print(df_dataframe[(df_dataframe.apple>1) & (df_dataframe.banana>5)])
#结果:

在这里插入图片描述
(3)取某列某字段值

print(df_dataframe["apple"])
#结果:

python中pandas框架学习_第12张图片

python中pandas框架学习_第13张图片

你可能感兴趣的:(python)