# -*- coding: utf-8 -*- import numpy as np student = np.dtype({'names':['name', 'age', 'weight'], 'formats': ['S32', 'i', 'f']}, align = True) a = np.array([("Zhang", 32, 65.5), ("Wang", 24, 55.2)], dtype = student) a Out[48]: array([(b'Zhang', 32, 65.5 ), (b'Wang', 24, 55.20000076)], dtype={'names':['name','age','weight'], 'formats':['S32','<i4','<f4'], 'offsets':[0,32,36], 'itemsize':40, 'aligned':True})
DataFrame
一個Datarame表示一個表格,類似電子表格的數據結構,包含一個經過排序的列表集,它們沒一個都可以有不同的類型值(數字,字符串,布爾等等)。Datarame有行和列的索引;它可以被看作是一個Series的字典(每個Series共享一個索引)。與其它你以前使用過的(如R 的data.frame )類似Datarame的結構相比,在DataFrame里的面向行和面向列的操作大致是對稱的。在底層,數據是作為一個或多個二維數組存儲的,而不是列表,字典,或其它一維的數組集合。
因為DataFrame在內部把數據存儲為一個二維數組的格式,因此你可以采用分層索引以表格格式來表示高維的數據。分層索引是pandas中許多更先進的數據處理功能的關鍵因素。
構建DataFrame
字典或NumPy數組
最常用的一個是用一個相等長度列表的字典或NumPy數組:
import pandas as pd
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'], 'year': [2000, 2001, 2002, 2001, 2002], 'pop': [1.5, 1.7, 3.6, 2.4, 2.9]} frame = DataFrame(data)
frame[‘next'] = 0 # 增加一列next,默認值為0
frame.to_csv("C:\\mytest.csv")