目录
从ndarrays/Lists的字典来创建DataFrame
参考
简介
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()