pandas 构造序列

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)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值