本帖最后由 唐伯虎(0) 于 2018-10-22 19:37 编辑
在大数据分析中,经常用到的两个包numpy和pandas,而pandas正是基于numpy构建的含有更高级数据结构和工具的数据分析包。在工作中的工程中,经常遇到的问题就是numpy的ndarray数据结构与pandas的series和dataframe数据结构之间的互相转换问题。
对list转换的操作:
#coding:utf-8 import numpy as np import pandas as pd
创建list data=[[2016,'hello',90], [2017,'world',70], [2018,'nice',80]]
把list转为series ser = pd.Series(data, index=['one','two','three'])
把seires转为matrix mat = ser.as_matirx()
list转为Dataframe df=np.Dataframe(data, index=['one','two','three'], columns=['year','flag','status'])
#dataframe转为ndarray array1 = df.as_matrix() array2 = df.values array3 = np.array(df) array_1 = df.as_matrix(['status'])
对dict转换的操作#coding:utf-8 import numpy as np import pandas as pd
dict data = {'year':[2016,2017,2018], 'flag':['hello','world','nice'], 'status':[90,70,80]} 把dict转为seires; 不指定index时,data的key则会为Series的index ser = pd.Series(data)
把dict转为Dataframe; 不指定columns,data的key充当DataFrame的columns df = pd.DataFrame(data)
对array转换的操作#coding:utf-8 import numpy as np import pandas as pd
创建数组array data=np.array([[2016,'hello',90], [2017,'world',70], [2018,'nice',80]])
数组转为DataFrame df = pd.DataFrame(data, index=['one','two','three'], columns=['year','flag','status'])
DataFrame转为矩阵(数组) array1 = df.as_matrix() array2 = df.values array3 = np.array(df)
将某一列转为数组 array_1 = df.as_matrix(['status'])
|