python - 如何从递归字典值中填充数据框?
问题描述
我创建了一个脚本,允许我读取多个 pdf 文件并逐个递归地提取信息。此脚本生成一个包含 pdf 数据的字典。例如:1º PDF 文件的 1º 迭代:
d = {"GGT":["transl","mut"], "ATT":["alt3"], "ATC":["alt5"], "AUC":["alteration"]}
2º 在 2º PDF 文件的第二次迭代中:
d = {"GGT":["transl","mut"], "AUC":["alteration"]}
. . . 这样做直到 200 个 pdf 文件。
最初,我创建了一个数据框,其中包含允许检测该分析的所有基因。
df = pd.DataFrame(data=None, columns=["GGT","AUC","ATC","ATT","UUU","UUT"], dtype=None, copy=False)
期望输出:我想获得的是一个数据帧,其中值的信息以递归方式逐行存储。例如:
有没有一种简单的方法来实现这一点?或可以帮助我的功能?
解决方案
IIUC,您是否正在尝试遍历字典并将它们作为行添加到数据框中?我不确定这如何适用于recursion
“我想要获得的是一个数据框,其中值的信息以递归方式逐行存储。”
d1 = {"GGT":["transl","mut"], "ATT":["alt3"], "ATC":["alt5"], "AUC":["alteration"]}
d2 = {"GGT":["transl","mut"], "AUC":["alteration"]}
dicts = [d1, d2] #imagine this list contains the 200 dictionaries
df = pd.DataFrame(data=None, columns=["GGT","AUC","ATC","ATT","UUU","UUT"], dtype=None, copy=False)
for d in dicts: #since only 200 rows a simple loop with append
df = df.append(d, ignore_index=True)
df
Out[1]:
GGT AUC ATC ATT UUU UUT
0 [transl, mut] [alteration] [alt5] [alt3] NaN NaN
1 [transl, mut] [alteration] NaN NaN NaN NaN
推荐阅读
- javascript - Moment.js 不适用于动态加载的元素
- python - 如何将每一行的值与 DataFrame 中的所有其他行的值进行比较?
- powershell - 如何在一个函数中有多个参数(至少一个强制)?
- git - 在计算机上创建 git 存储库并与 github 上的相同存储库同步
- html - 为什么我的 sass mixin 每个选择器都编译为一个属性?
- networking - Wifi 通过 DHCP 获得 IP 但无法访问互联网
- javascript - 在 vue.js 中实现谷歌自动完成的问题
- jenkins - 无法将我的凭据添加到 Jenkins 中的 perforce 结帐
- mpi - 是否有 MPI_Comm_create_group() 的非阻塞版本?
- ios - iOS SDK 中集成的 Mixpanel 不发送事件