导读
字典、列表、表格相互转换解决很多格式问题。
字典<=>列表:
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}}