pandas

作者: haokeed | 来源:发表于2019-05-08 10:22 被阅读0次

windows下安装

pip install pandas

pandas 有两种数据结构:Series 和 DataFrame

1.Series
Series 像python中的数据list 一样,每个数据都有自己的索引。从list创建 Series。
引入

from pandas import Series

使用

from pandas import Series

obj=Series([4,7,-5,3])
print(obj)
print("--------")
print(obj.index) # 获取开始索引 结束索引 步长
print(obj.values) # 获取值列表

obj2=Series([4,7,-5,3],index=['3/1','3/2','3/3','3/4']) # 设置了index
print(obj2)
print("-----")
print(obj2['3/3'])
print("-----")
print(obj2[obj2>0]) # 获取>0的值的数据列表

# in
print('3/3' in obj2) # 判断index 是否在obj2中
print('3/6' in obj2)

# 通过字典创建
dict1={'3/1':4,'3/2':7,'3/3':-5,'3/4':3}
print(dict1)
print(Series(dict1)) # 转话为series
image.png

DataFrame
DataFrame 相当于Series 一维的一个扩展,是一种二维的数据模型,相当于EXcel表格中的数据,有横竖两种坐标,横轴很Series 一样使用index,竖轴用columns 来确定,在建立DataFrame 对象的时候,需要确定三个元素:数据,横轴,竖轴。

引入

from pandas import DataFrame

使用

# 数据库
# 两个列表
position=['产品尽力','数据分析师','UI','产品经理','开发']
print(position)
company=['百度','360','360','阿里','58']
print(company)
DataFrame([position,company])

jobInfo=DataFrame([position,company]).T
jobInfo

#columns
jobInfo.columns=['职位名','公司名']
#index
jobInfo.index=['a','b','c','d','e']
jobInfo
# reset_index 重置index

jobInfo.reset_index(drop = True)

jobInfo.reset_index() # 这里会增加一个序列

jobInfo.head(3) #显示前面数据 默认是5行

jobInfo.tail(2) # 显示末尾数据 默认是5行

# 要获取其中某一列的值:方式1
jobInfo["职位名"]

# 要获取其中某一列的值:方式2
jobInfo.职位名

# 获取某一行的值:方式1
jobInfo.loc["c"]

# 获取某一行的值:方式2
jobInfo.iloc[2] #通过索引
image.png
image.png
image.png

pandas的一些基本功能

# create一个数据框
import numpy as np

np.arange(16)
data=np.arange(16).reshape((4,4))
data

# 行列指定标题
df=DataFrame(data=data,index=['a','b','c','d'],columns=['one','two','three','four'])
df

# 丢弃指定轴上的项
df.drop("b") # delete行
df.drop("two",axis=1) # 删除列 axis=1表示列

# search 列four值未7的记录
df[df['four']==7]

# unique 唯一值
obj=Series([1,2,3,3,3,4,5,6,7,7,8,8,8,8])
print(obj.unique())

# 频率统计 value_counts
print(obj.value_counts(sort=False)) # 结果默认是根据频率进行排序  sort=False表示不排序

# describle 描述性统计信息
df.describe()

# 求和 sum
df.sum()

# 均值
df.mean()

# 累计求和
df.cumsum()

# 最大值
df.max()

# 非数值型数据的描述性统计分析
jobInfo
jobInfo.describe()
image.png
image.png
image.png

相关文章

网友评论

      本文标题:pandas

      本文链接:https://www.haomeiwen.com/subject/ssieoqtx.html