点击蓝字↑↑↑“微生态”,轻松关注不迷路
本文由阿童木根据实践经验而整理,希望对大家有帮助。
原创微文,欢迎转发转载。
掌握字典、列表、表格相互转换能解决掉很多数据处理过程中遇到的格式问题。下面通过简单的测试来看如何转换。
要点总结
#字典<=>列表:
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()
一、字典 <=> 列表
1.1 字典 > 列表
# 构造字典
Dict = {'a' : 'value_a', 'b' : 'value_b', 'c' : 'value_c'}
# 字典 => 列表
list(Dict)
> ['a', 'c', 'b']
list(Dict.values())
> ['value_a', 'value_c', 'value_b']
1.2 字典 < 列表
dict(zip(list(Dict), list(Dict.values())))
{'a': 'value_a', 'c': 'value_c', 'b': 'value_b'}
# 也能看出字典是无序的
二、列表<=> 表格
2.1 列表 > 表格
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
2.2 列表 < 表格
table = pd.DataFrame(z).T
# 一列 > list
table[0].tolist()
> ['a', 'c', 'b']
# 一行 > list
table.loc[0].tolist()
['a', 'value_a']
三、字典<=> 表格
3.1 字典 > 表格
# 构造字典
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
3.2 字典 < 表格
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}}
你可能还喜欢
1 技术贴 | 16S专题 | 简单介绍如何用自己的笔记本处理高通量16S数据
2 技术贴 | 宏基因组专题 | 组装工具盘点和比较
3 技术贴 | R语言菌群Alpha多样性分析和绘图
4 技术贴 | 宏转录组专题 | DDBJ数据库:宏转录组测序数据下载
5 技术贴 | R语言pheatmap聚类分析和热图
微生态科研学术群期待与您交流更多微生态科研问题
(联系微生态老师即可申请入群)
了解更多菌群知识,请关注“微生态”。