此文件主要是了解list、dictionary、numpy.array、pandas.series、pandas.dataframe的区别
数据类型的层级:list->array,list->series->dataframe
list与array存在一对一的关系,list的维度与array的轴对应,一维对应第一轴,二维对应第二轴
series某一个index上的值对应着list某一个索引位置上的值
list整体对应dataframe中的一列,list某一个索引位置上的值对应dataframe相应一行上的值
series对应dataframe的一列,series某一个index上的值对应dataframe某一列上某一个index上的值
dataframe中的index对应的是array中的第一轴,column对应的是array中的第二轴。
import pandas as pd
import numpy as np
#list to others
list1=[1,2,3,4,5]
array1=np.array(list1)
ser11=pd.Series(list1)
df11=pd.DataFrame(list1)
ser12=pd.Series([list1])
df12=pd.DataFrame([list1])
print(list1,'\n',array1,'\n',ser11,'\n',df11,'\n',ser12,'\n',df12)
# array to others
array2=np.array([1,2,3,4,5])
list2=list(array2)
ser21=pd.Series(array2)
ser22=pd.Series([array2])
df21=pd.DataFrame(array2)
df22=pd.DataFrame([array2])
print(list2,'\n',array2,'\n',ser21,'\n',ser22,'\n',df21,'\n',df22)
# series to others
ser31=pd.Series([1,2,3,4,5])
list31=list(ser31)
array31=np.array(ser31)
df31=pd.DataFrame(ser31)
ser32=pd.Series([[1,2,3,4,5]])
list32=list(ser32)
array32=np.array(ser32)
df32=pd.DataFrame(ser32)
print(list31,'\n',array31,'\n',ser31,'\n',df31,'\n','-----','\n',list32,'\n',array32,'\n',ser32,'\n',df32)
# dataframe to others column
df4=pd.DataFrame([1,2,3,4,5])
list41=list(df4) # list的每一个索引上存储的是对象的指针,而不是具体的某一个数值
list42=list(df4[0])
array4=np.array(df4)
ser4=df4[0]
# dataframe to others row
row=[1,2,3,4,5]
df5=pd.DataFrame([row])
list5=list(df5)
array5=np.array(df5)
ser5=df5[:]
# ser4=pd.Series(df4)
print(list41,'\n',list42,'\n',array4,'\n',ser4,'\n',df4,'\n','--------','\n',list5,'\n',ser5,'\n',array5,'\n',df5)
print(type(ser5))
# list to others
data = [[2000, 'Ohino', 1.5],
[2001, 'Ohino', 1.7],
[2002, 'Ohino', 3.6],
[2001, 'Nevada', 2.4],
[2002, 'Nevada', 2.9]] # type(data) 为 list
# list to series
ser = pd.Series(data, index = ['one', 'two', 'three', 'four', 'five'])
# list to dataframe
df = pd.DataFrame(data, index = ['one', 'two', 'three', 'four', 'five'], columns = ['year', 'state', 'pop'])
# list to array
ndarray = np.array(data)
print(ser,'\n',df,'\n',ndarray)
# array to list
list2=list(ndarray) # 这个例子也说明list的每个索引位置上存储的是对象的指针,而不是具体的值。
# array to dataframe
df2 = pd.DataFrame(ndarray, index = ['one', 'two', 'three', 'four', 'five'], columns = ['year', 'state', 'pop'])
# array to series
ser2=pd.Series(b,index = ['one', 'two', 'three', 'four', 'five'])
print(list2,'\n',df2,'\n',ser2)