gpt4 book ai didi

list - 遍历 Dataframes Pandas 列表

转载 作者:行者123 更新时间:2023-12-05 00:27:08 32 4
gpt4 key购买 nike

我目前有一系列 18 个数据帧(每个代表不同的年份),由 3 列和不同数量的行组成,代表氨基酸残基位置的标准化互信息分数,例如:

第一年

Pos1   Pos2   MI_Score
40 40 1.00
40 44 0.53
40 70 0.23
44 44 1.00
44 70 0.90
...

我想遍历这个 DataFrame 列表,并修剪掉互信息分数小于 0.50 的行以及与自身配对的残基的互信息分数的行。这是我迄今为止尝试过的:
MIs = [MI_95,MI_96,MI_97,MI_98,MI_99,MI_00,MI_01,MI_02,MI_03,MI_04,MI_05,MI_06,MI_07,MI_08,MI_09,MI_10,MI_11,MI_12,MI_13] 
for MI in MIs:
p = []
for q in range(0, len(MI)):
if MI[0][q] != MI[1][q]:
if MI[2][q] > 0.5:
p.append([MI[0][q],MI[1][q],MI[2][q]])
MI = pd.DataFrame(p)

然而,这只会修剪 MI 中的第一项。有人可以帮我找到一种方法来遍历整个列表并修剪每个数据框吗?

谢谢

最佳答案

尽可能避免循环。与对所有数据一起操作的“矢量化”方法相比,它们要慢得多,而且通常不太容易阅读。这是一种方法。

In [17]: self_paired = df['Pos1'] == df['Pos2']

In [18]: low_MI = df['MI_Score'] < 0.50

In [19]: df[~(low_MI | self_paired)]
Out[19]:
Pos1 Pos2 MI_Score
1 40 44 0.53
4 44 70 0.90

[2 rows x 3 columns]

关于list - 遍历 Dataframes Pandas 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21169362/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com