在大数据分析中,经常用到的两个包numpy和pandas,而pandas正是基于numpy构建的含有更高级数据结构和工具的数据分析包。在工作中的工程中,经常遇到的问题就是numpy的ndarray数据结构与pandas的series和dataframe数据结构之间的互相转换问题。
#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'])
#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)
#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'])
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |