pythonPython待用Python已看

python: 字典、列表、表格相互转换

2020-07-02  本文已影响0人  胡童远

导读

字典、列表、表格相互转换解决很多格式问题。

字典<=>列表:
list(Dict); list(Dict.values())
dict(zip(list1, list2))
列表<=>表格:
pd.DataFrame(list)
pd[col_name].tolist(); pd.loc[row_name].tolist()
字典<=>表格:
pd.DataFrame(Dict)
table.to_dict()

一、字典 <=> 列表

# 构造字典
Dict = {'a' : 'value_a', 'b' : 'value_b', 'c' : 'value_c'}

# 字典 => 列表
list(Dict)
> ['a', 'c', 'b']
list(Dict.values())
> ['value_a', 'value_c', 'value_b']
dict(zip(list(Dict), list(Dict.values())))
{'a': 'value_a', 'c': 'value_c', 'b': 'value_b'}
# 也能看出字典是无序的

二、列表 <=> 表格

import pandas as pd
x = ['a', 'c', 'b']
y = ['value_a', 'value_c', 'value_b']
pd.DataFrame(y, x)
>         0
>a  value_a
>c  value_c
>b  value_b

# 或者
z = []
z.append(x)
z.append(y)
pd.DataFrame(z)
>         0        1        2
>0        a        c        b
>1  value_a  value_c  value_b
pd.DataFrame(z).T
>   0        1
>0  a  value_a
>1  c  value_c
>2  b  value_b
table = pd.DataFrame(z).T
# 一列 > list
table[0].tolist()
> ['a', 'c', 'b']
# 一行 > list
table.loc[0].tolist()
['a', 'value_a']

三、字典 <=> 表格

# 构造字典
Dict = {'a' : [1,2,3,4], 'b' : [5,6,7,8], 'c' : [9,10,11,12]}
# 字典 > 表格
pd.DataFrame(Dict)
>   a  b   c
>0  1  5   9
>1  2  6  10
>2  3  7  11
>3  4  8  12
table = pd.DataFrame(Dict)
table.to_dict()
{'c': {0: 9, 1: 10, 2: 11, 3: 12}, 'b': {0: 5, 1: 6, 2: 7, 3: 8}, 'a': {0: 1, 1: 2, 2: 3, 3: 4}}
上一篇下一篇

猜你喜欢

热点阅读