pandas的简单运用

本文介绍了Python中Series和DataFrame的基本概念、创建方法,重点讲解了如何设置索引,包括使用列表、字典以及不连续索引,并展示了如何利用它们进行数据的1维和2维封装,以及DataFrame的构建与列索引设置实例。
摘要由CSDN通过智能技术生成
import pandas as pd
#主要介绍series与DataFrame,是针对数组的,分别对数据进行1维及2维封装,series为数据列表,#DataFrame是数据集。
data = pd.Series([4,5,6,3,7])
data
0    4
1    5
2    6
3    3
4    7
dtype: int64
data.values
array([4, 5, 6, 3, 7], dtype=int64)
data.index
RangeIndex(start=0, stop=5, step=1)
data = pd.Series([4,8,3,9,5],index=['one','two','three','four','five'])
data
one      4
two      8
three    3
four     9
five     5
dtype: int64
总结:可以自己指定索引值,通过列表的方式及字典的方式。

data = pd.Series([4,8,3,9,5],index=list('abcde'))
data
a    4
b    8
c    3
d    9
e    5
dtype: int64
population_dict={'bj':3000,'gz':1500,'sh':2800,'sz':1200}
data = pd.Series(population_dict)
data
bj    3000
gz    1500
sh    2800
sz    1200
dtype: int64
data = pd.Series(population_dict,index=['bj','ax'])
data
bj    3000.0
ax       NaN
dtype: float64
#注意:使用字典的方式指定索引值,可以通过索引值往出来拿值,若key值不存在则返回Nan。(也可以认为指定的索引与字典中的key做交集。)

data = pd.Series(10,index=['4','7','9','2'])
data
4    10
7    10
9    10
2    10
dtype: int64
#可以使用不连续的索引值,根据索引值个数创建values

#DataFrame简单运用,将两个series构建一个dataframe,可以认为是在series的基础上添加了列索引。

population_dict = {'beijing':2900,'guangzhou':3000,'shanghai':3100}
arear_dict = {'beijing':210,'guangzhou':240,'shanghai':260}
​
population_series = pd.Series(population_dict)
arear_series = pd.Series(arear_dict)
data = pd.DataFrame(population_series,columns=['population'])
data
population
beijing	2900
guangzhou	3000
shanghai	3100
message = pd.DataFrame({'population':population_series,'arear':arear_series})
message
population	arear
beijing	2900	210
guangzhou	3000	240
shanghai	3100	260
message.values
message.index
message.columns
Index(['population', 'arear'], dtype='object')
#若不设置列索引,则默认index为列索引,而0-n为索引

population_dict = {'beijing':2900,'guangzhou':3000,'shanghai':3100}
arear_dict = {'beijing':210,'guangzhou':240,'shanghai':260}
data = pd.DataFrame([population_dict,arear_dict])
data
beijing	guangzhou	shanghai
0	2900	3000	3100
1	210	240	260
#可以直接设置行索引,认为北京,广州,上海为列索引

population_dict = {'beijing':2900,'guangzhou':3000,'shanghai':3100}
arear_dict = {'beijing':210,'guangzhou':240,'shanghai':260}
data = pd.DataFrame([population_dict,arear_dict],index=['population','arear'])
data
beijing	guangzhou	shanghai
population	2900	3000	3100
arear	210	240	260
data_dict = [{'a':i,'b':i*2} for i in range(3)]
data_dict
[{'a': 0, 'b': 0}, {'a': 1, 'b': 2}, {'a': 2, 'b': 4}]
data = pd.DataFrame(data_dict)
data
a	b
0	0	0
1	1	2
2	2	4
#指定行,列索引

import numpy as np
data = pd.DataFrame(np.random.randint(0,10,size=(2,5)),index=list('ab'),columns=list('01234'))
data
0	1	2	3	4
a	5	4	7	9	8
b	9	2	6	8	2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值