【Python库】Pandas(部分)

目录

参考

简介

Numpy 和 Pandas 有什么不同

详介

Pandas数据结构之Series

从ndarray创建一个系列Series

从字典创建一个系列

从标量创建一个系列

使用标签检索数据(索引)

使用索引标签值列表检索多个元素

Pandas数据结构之DataFrame

创建一个空的DataFrame

从列表创建DataFrame

从ndarrays/Lists的字典来创建DataFrame

从列表创建数据帧DataFrame

从系列的字典来创建DataFrame

Pandas重建索引

Pandas IO工具

read_csv()

read_table()

 


参考

莫烦 Pandas教程

易百教程

 


简介

Numpy 和 Pandas 有什么不同

如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是列表形式的,没有数值标签;而 Pandas 就是字典形式。

Pandas是基于Numpy构建的,让Numpy为中心的应用变得更加简单。

要使用Pandas,首先需要了解它的两个主要的数据结构:Series和DataFrame

详介

Pandas数据结构之Series

系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组。轴标签统称为索引。

  • 从ndarray创建一个系列Series

#这里没有传递任何索引,因此默认情况下,它分配了从0到len(data)-1的索引,即:0到3
import pandas as pd
s=pd.Series([21,52,3]) 
#可自定义索引序号s = pd.Series(data,index=[20,21,22,23])
print(s)

'''
0    21
1    52
2     3
dtype: int64
'''
  • 从字典创建一个系列

data={'a':0,'b':1,'c':2}
s=pd.Series(data)
  • 从标量创建一个系列

如果数据是标量值,则必须提供索引。将重复该值以匹配索引的长度。

s=pd.Series(5,index=[0,1,2],dtype=float)
'''
0    5.0
1    5.0
2    5.0
dtype: float64
'''
  • 使用标签检索数据(索引)

s=pd.Series([1,2,3],index=['a','b','c'])
print(s['a']) #1
  • 使用索引标签值列表检索多个元素

s=pd.Series([1,2,3],index=['a','b','c'])
print(s[['a','c']]) #注意方括号的个数!!!
'''
a    1
c    3
dtype: int64
'''

 

Pandas数据结构之DataFrame

数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列。

  • 创建一个空的DataFrame

import pandas as pd
df=pd.DataFrame()
print(df)
'''
Empty DataFrame
Columns: []
Index: []
'''
  • 从列表创建DataFrame

import pandas as pd
#可以使用单个列表或列表列表创建数据帧(DataFrame)
data=['a','b']
df=pd.DataFrame(data)
print(df)
'''
   0
0  a
1  b
'''

data2=[['ywp',100],['wtx',99],['baby',88]]
df2=pd.DataFrame(data2,columns=['Name','Score'])
print(df2)
'''
   Name  Score
0   ywp    100
1   wtx     99
2  baby     88
'''
  • 从ndarrays/Lists的字典来创建DataFrame

所有的ndarrays必须具有相同的长度。如果传递了索引(index),则索引的长度应等于数组的长度。

如果没有传递索引,则默认情况下,索引将为range(n),其中n为数组长度。

import pandas as pd
data={'name':['ywp','wtx','baby'],'score':[66,77,88]}
df=pd.DataFrame(data)
print(df)
'''
   name  score
0   ywp     66
1   wtx     77
2  baby     88
'''
#0 1 2 是分配给每个使用函数range(n)的默认索引

df2=pd.DataFrame(data,index=['rank3','rank2','rank2'])
print(df2)
'''
       name  score
rank3   ywp     66
rank2   wtx     77
rank2  baby     88
'''
  • 从列表创建数据帧DataFrame

字典列表可作为输入数据传递以用来创建数据帧(DataFrame),字典键默认为列名。

import pandas as pd
data=[{'a':1,'b':2},{'a':5,'b':10,'c':20}]
df=pd.DataFrame(data,index=['first', 'second'],columns=['a','b'])
print(df)
'''
        a   b
first   1   2
second  5  10
'''
  • 从系列的字典来创建DataFrame

字典的系列可以传递以形成一个DataFrame。 所得到的索引是通过的所有系列索引的并集。

  • Pandas重建索引

 

 

 

Pandas IO工具

读取文本文件(或平面文件)的两个主要功能是read_csv()read_table()。它们都使用相同的解析代码来智能地将表格数据转换为DataFrame对象。

read_csv()

  • 从csv文件中读取数据并创建一个DataFrame对象
import pandas as pd
df=pd.read_csv('D:\Anaconda\Lib\site-packages\lda2vec\examples\hacker_news\data\hacker_news_comments_try.csv',encoding='gb18030')
#注意编码方式,否则报错=,=
print(df)
'''
     story_id         ...           story_comment_count
0     3985069         ...                            13
1     2481190         ...                            16
2     6302825         ...                            42
3     6268480         ...                            11
4     5487883         ...                            44
5     4489556         ...                            24
6     2151674         ...                            11
7     6302825         ...                            42
等等
'''
  • 使用index_col自定义索引

  • 使用names参数指定标题的名称
  • 使用header参数来删除原标题

详见:https://www.yiibai.com/pandas/python_pandas_io_tool.html

read_table()

 

 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值