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中。

相關文章
相關標籤/搜索