python释放dataframe对象_给妹子讲python-S02E10Pandas之DataFrame对象简介

微信公众号: python数据科学家

【要点抢先看】

1.DataFrame是若干有序排列的Series对象

2.DataFrame可以看作含有行索引和列索引的二维数组结构

3.DataFrame可以看作是特殊字典,反应了列索引到Series的映射关系

4.DataFrame的常见创建方法

【妹子说】按照上一集的思路,今天我们继续学习Pandas的另一个基础数据结构DataFrame吧。

我们依然按照前面的学习路线图,对DataFrame数据对象先进行一个全局的概览。

如果说Series对象可以类比为带灵活索引类型的一维数组,那么对比的看,DataFrame可以被看做是既有灵活的行索引,又有灵活列索引的二维数组。那么我们可以这么说:

DataFrame是有序排列的若干Series对象,而这些Series对象都有相同的索引。

我们来演示这个过程:

import pandas as pd

area_dict = {'California':423967,'Texas':695662,'New York':141297}

population_dict = {'California':1.3, 'Texas':0.98, 'New York':1.13}

area = pd.Series(area_dict)

population = pd.Series(population_dict)

print(area)

print(population)

California 423967

New York 141297

Texas 695662

dtype: int64

California 1.30

New York 1.13

Texas 0.98

dtype: float64

这是我们初始的两个Series对象,接下来我们借助他们来展示Series和DataFrame的关系。我们可以用一个字典来构建含有这两个Series数据的二维对象,这就是DataFrame.

import pandas as pd

area_dict = {'California':423967,'Texas':695662,'New York':141297}

population_dict = {'California':1.3, 'Texas':0.98, 'New York':1.13}

area = pd.Series(area_dict)

population = pd.Series(population_dict)

states_df = pd.DataFrame({'area':area,'population':population})

print(states_df)

area population

California 423967 1.30

New York 141297 1.13

Texas 695662 0.98

可以看到,利用含有Series作为值的字典,就可以构造一个DataFrame,不难看出,这个字典的值,即一组Series对象,共享了行索引(index),而这个字典的一组键,则构成了这个DataFrame对象的列索引(columns)。

获取DataFrame对象的行、列索引值也非常简单:

import pandas as pd

states_df = pd.DataFrame({'area':area,'population':population})

print(states_df.index)

print(states_df.columns)

Index(['California', 'New York', 'Texas'], dtype='object')

Index(['area', 'population'], dtype='object')

可以看出,通过index属性,我们获取了其行索引,通过columns,我们获取了其列索引。所以我们可以总结一下,DataFrame可以看作是具有行、列索引的二维表格型数组结构。

那么,类似的,DataFrame和字典有何关联呢?从上面利用两个Series构造DataFrame的过程中我们不难发现,DataFrame也可以看做是特殊的字典,他的键是列索引,其映射的值就是一个个的Series对象。

import pandas as pd

states_df = pd.DataFrame({'area':area,'population':population})

print(states_df['area'])

California 423967

New York 141297

Texas 695662

Name: area, dtype: int64

获取DataFrame内部数据元素的方法还有很多,不过还是老话,这一集只从全景上来把握DataFrame对象,更细的知识我们后面几集慢慢分解。

最后,我们来总结一下DataFrame对象的几种常见创建形式:

第一种,通过Series对象字典创建,这个刚刚举过例子。

第二种,因为DataFrame是特殊的字典,因此可以通过一个字典列表来创建:

import pandas as pd

data = [{'a':13,'b':4},{'a':'CHN','b':'USA'}]

df = pd.DataFrame(data,index=['c','d'])

print(df)

a b

c 13 4

d CHN USA

第三种,同时字典是带有行列索引的二维数组结构,因此可以用NumPy二维数组创建:

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(3,2),

columns=['foo','bar'],

index=['a','b','c'])

print(df)

foo bar

a 0.249028 0.450017

b 0.885382 0.742781

c 0.329082 0.579758

【妹子说】感觉这种表格型的数据结构应该是挺有用的,因为很多实际的数据源都是这种形式,很容易直观的存储和展现数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值