pandas入门02---DataFrame

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

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将会按指定顺序排列。3d

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

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

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)blog

注意:frame[column]对于任意列名均有效,若是该列不存在,能够生成新列。可是frame.column只在列名是有效的python变量名时有效,而且不能够生成新列。three

# 行能够经过位置或特殊属性loc进行选取 
print(frame2.loc['three'])

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

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’:io

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

del方法能够用于移除以前新建的列ast

del frame2['eastern']

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

相关文章
相关标签/搜索