pandas入门02---DataFrame

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

import pandas as pd

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
		'year': [2000, 2001, 2002, 2001, 2002, 2003],
		'pop': [1.5, .17, 3.6, 2.4, 2.9, 3.2]}

frame = pd.DataFrame(data)

print(frame)

产生的DataFrame如下:

对于大型的DataFrame,head方法可以筛选出前5行。

如果你指定列顺序,DataFrame将会按指定顺序排列。

frame_col = pd.DataFrame(data,columns=['year', 'state', 'pop'])
print(frame_col)

如果传递的值不在字典中,将会在结果中出现缺失值:

frame2 = pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'],
	index=['one', 'two', 'three', 'four', 'five', 'six'])
print(frame2)
print(frame2.columns)

DataFrame中的一列,可以看做是Series: # 按字典标记 print(frame2['state']) # 按属性使用 print(frame2.year)

注意:frame[column]对于任意列名均有效,如果该列不存在,可以生成新列。但是frame.column只在列名是有效的python变量名时有效,并且不可以生成新列。

# 行可以通过位置或特殊属性loc进行选取 
print(frame2.loc['three'])

列的引用是可以修改的。如空的‘debt’列可以赋值为标量值或数组值。

frame2['debt'] = 16.5
print(frame[2])
frame2['debt'] = np.arange(6.)
print(frame2)

val = pd.Series([-1.2, -1.5, -1.7],index=['two', 'four', 'five'])
frame2['debt'] = val
print(frame2)

这一列是布尔值,判断条件是state列是否为‘Ohio’:

frame2['eastern'] = frame2.state == 'Ohio'

del方法可以用于移除之前新建的列

del frame2['eastern']

从DataFrame中选取的列是数据的视图,而不是数据的拷贝。因此对Series的修改会映射到DataFrame中。

转载于:https://my.oschina.net/u/3938912/blog/3101665

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值