美文网首页
python数据分析基础(18-19)-数据集转为字典

python数据分析基础(18-19)-数据集转为字典

作者: Zhigang_Han | 来源:发表于2020-04-12 14:47 被阅读0次
1、字典的一般转化(18)
dict()
out: {}
dict(a=1,b=2)
out: {'a': 1, 'b': 2}
2、zip函数将列表转为字典(18)

(1)zip函数用于处理列表,先将数据配对,转化为元组。
主要有两种情况,一个是zip过程,一个是unzip过程。
具体可以看下:

####zip过程
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
abc=zip(a,b,c) #这里Python2和3不一样,这里abc是可迭代的元组集合
for i in abc:
    print(i)
out:
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)
####unzip过程
u=zip(*abc)
for j in u:
    print(j)
out:
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
####直接列表也是可以的
abc=zip(a,b,c) #这里Python2和3不一样,这里abc是可迭代的元组集合
z1=list(abc)
print(z1)
out: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] 

(2)zip处理后的数据集转为字典

a=[1,2,3]
b=[4,5,6]

ab=zip(a,b) #这里Python2和3不一样,这里abc是可迭代的元组集合
z1=list(ab) #转化为列表
z2=dict(z1) #转化为字典,一定要注意每个元组只有2个元素
print(z1)
print(z2)
out:
[(1, 4), (2, 5), (3, 6)]
{1: 4, 2: 5, 3: 6}
3、查看对象的所有方法(19)

(1)在上面的分析过程,刚开始就碰到一个报错:

a=[1,2,3]
b=[4,5,6]
c=[7,8,9]

abc=zip(a,b,c) #这里Python2和3不一样,这里abc是可迭代的元组集合
print(abc)
out: <zip object at 0x7f3fbc1543c8>

这是由于,python2和3的不同造成的。python2中,可以直接打印一个列表,python3相对严谨和灵活一些,只是产生一个可迭代对象,后续可以按照个人意愿自己编辑。
(2)怎样判断它是不是可迭代对象呢?

dir(abc)
out:
['__class__',
 '__delattr__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__iter__',
 '__le__',
 '__lt__',
 '__ne__',
 '__new__',
 '__next__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__']

通过上面的 '__iter__''__next__'基本就可以判断了。

相关文章

网友评论

      本文标题:python数据分析基础(18-19)-数据集转为字典

      本文链接:https://www.haomeiwen.com/subject/pfmvmhtx.html