list_1=[[100,200],200,300]
dict_1={'x':100,'y':200,'z':300}
dict_2={'x':[10,100],'y':[20,200],'z':[30,300]}
# c=pd.Series(dict_2,index=['x','y','z']) 不需要重新指定 指定后不一致的填充NAN
series_1=pd.Series(dict_1)
print(f'list_series is :\n{pd.Series(list_1)}')
print(f'dict_series is :\n{pd.Series(dict_1)}')
#没有本质区别,只是字典自带了索引而已
构造dataframe: serise也是竖着放 只是没columns而已
list_1=[100,200,300]
dict_1={'x':100,'y':200,'z':300}
dict_2={'x':[10,100],'y':[20,200],'z':[30,300]}
dataframe_1=pd.DataFrame(list_1,index=['x','y','z'])#不指定index则使用默认的index,和series多了一个默认的column 0
dataframe_2=pd.DataFrame(dict_1,index=['x','y','z'])#默认有索引 无需指定索引 字典的key当做column
dataframe_3=pd.DataFrame(dict_2,index=['x','y'])#默认有索引 无需指定索引 字典的key当做column
print(f'list_frame is \n{dataframe_1},column is {dataframe_1.columns}')
print(f'dict_frame is \n{dataframe_2},column is {dataframe_2.columns}')
print(f'dict_frame is \n{dataframe_3},column is {dataframe_3.columns}')
构造方法2:
data=pd.DataFrame(np.arange(25).reshape(5,5),index=list('12345'),columns=list('ABCDE'))
print(data)
构造方法3#series构造DataFrame
s1=pd.Series([10,20,30],index=[1,2,3])
s2=pd.Series([100,200,300],index=[1,2,3],name='B')
s3=pd.Series([1000,2000],index=[1,2],name='C')
df=pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3}) #以列的方式加入datafrma
df.columns=['A','B','C1']#如果series没有name也可以构造之后再重命名列名
print(df)
# A B C1
# 1 10 100 1000
# 2 20 200 2000
# 3 30 300 3000
df=pd.DataFrame([s1,s2,s3])#以行的方式加入datafrmae 不常用可以忽略
# 1 2 3
# Unnamed 0 10.0 20.0 30.0
# B 100.0 200.0 300.0
# C 1000.0 2000.0 NaN
print(df)