Dataframe.from_dict和Dataframe异同

二者异同

默认参数下二者没有区别:

df = pd.DataFrame({'订单号':['A1001','B1002'],
                 '产品':['电视', '电脑'],
                 '金额':[8700, 11000]})
df

订单号	产品	金额
0	A1001	电视	8700
1	B1002	电脑	11000

data = pd.DataFrame.from_dict({'订单号':['A1001','B1002'],
                 '产品':['电视', '电脑'],
                 '金额':[8700, 11000]})
data 

	订单号	产品	金额
0	A1001	电视	8700
1	B1002	电脑	11000

区别

以上的2种情况,构造DataFrame的dict里的键值是作为DataFrame里的列名,而DataFrame.from_dict可以通过更改参数将的dict里的键值变成DataFrame的行索引:

data = pd.DataFrame.from_dict({'订单号':['A1001','B1002'],
                 '产品':['电视', '电脑'],
                 '金额':[8700, 11000]},orient='index')
data

0	1
订单号	A1001	B1002
产品	电视	电脑
金额	8700	11000

DataFrame.from_dict的orient参数默认是orient=‘columns’,默认情况下,就跟DataFrame没区别。
DataFrame.from_dict还有另外一个参数是columns,当orient=‘index’时可以设置columns参数,当orient='columns’时就不能设置了,否则会报错,因为orient='columns’表示你已经把dict的键值设为列名了,再设columns参数就多余了。正确做法如下:

data = pd.DataFrame.from_dict({'订单号':['A1001','B1002'],
                 '产品':['电视', '电脑'],
                 '金额':[8700, 11000]},orient='index',columns=['列1','列2'])
data

	列1	列2
订单号	A1001	B1002
产品	电视	电脑
金额	8700	11000

Dataframe也可以实现DataFrame.from_dict(orient=‘index’)的效果,在后面加“.T”转置一下即可,这样就列变行,再重新设置下列名:

df = pd.DataFrame({'订单号':['A1001','B1002'],
                 '产品':['电视', '电脑'],
                 '金额':[8700, 11000]}).T
df.columns = ['列1', '列2']
df
	列1	列2
订单号	A1001	B1002
产品	电视	电脑
金额	8700	11000

总结

偷懒,就不总结了,本人小白,如有错误,欢迎指正!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值