相关疑难解决方法(0)

使用dict重新映射pandas列中的值

我有一个字典,看起来像这样: di = {1: "A", 2: "B"}

我想将它应用于数据帧的"col1"列,类似于:

     col1   col2
0       w      a
1       1      2
2       2    NaN
Run Code Online (Sandbox Code Playgroud)

要得到:

     col1   col2
0       w      a
1       A      2
2       B    NaN
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能做到最好?出于某种原因谷歌搜索与此相关的术语只显示了如何从dicts制作列的链接,反之亦然: - /

python dictionary remap pandas

260
推荐指数
6
解决办法
21万
查看次数

如何在pandas中使用带有多索引的地图?

我有各种基因组位置的数据数据表.这些位置表示为3元组('染色体','srand',位置),我已经变成了多指数.我的目标是查找有关每个位置的各种信息并将其添加到表中(例如基因名称等)我可以使用pybedtools执行此操作.

df = pd.DataFrame(data={'A':range(1,8), 'B':range(1,8), 'C': range(1,8)},
 index=pd.MultiIndex.from_tuples([('chrom1', '-', 1234), ('chrom1', '+', 5678),
 ('chrom1', '+', 9876),  ('chrom2', '+', 13579), ('chrom2', '+', 8497), ('chrom2', '-', 98765),
 ('chrom2', '-', 76856)]))

df.index.rename(['chrom','strand','abs_pos'], inplace=True)

                       A  B  C
chrom  strand abs_pos         
chrom1 -      1234     1  1  1
       +      5678     2  2  2
              9876     3  3  3
chrom2 +      13579    4  4  4
              8497     5  5  5
       -      98765    6  6  6
              76856    7  7  7
Run Code Online (Sandbox Code Playgroud)

我的问题是向具有多索引的数据框添加列.这似乎很简单,没有多索引:pandas - 从字典向数据框添加新列

我有一个查找信息的字典,其中包含与多索引相对应的3元组键.如何将此数据添加为新列?

gene_d = {('chrom1', '-', 1234) …
Run Code Online (Sandbox Code Playgroud)

python multi-index pandas

13
推荐指数
1
解决办法
3741
查看次数

pandas - 将嵌套字典值映射到数据框列

我要去远一点大约字典中的值映射到dataframes前面的问题。我有一个简单的数据框 df ,如:

U,id
111,01
112,02
112,03
113,04
113,05
113,06
114,07
Run Code Online (Sandbox Code Playgroud)

我想在新列上映射以下嵌套字典:

d = {112: {'en': 1, 'es': 2}, 113: {'zh': 1, 'ja': 1, 'es': 2}, 114: {'es': 1}, 111: {'ar': 2, 'en': 1}}
Run Code Online (Sandbox Code Playgroud)

仅考虑最常见的L值,即 112:'es'、113:'es'、114:'es'、111:'ar'。

在一个简单的字典案例中,我可以使用df['C'] = df['U'].map(d). 我怎么能只取以前的最高值呢?结果数据框将显示为:

U,id,C
111,01,ar
112,02,es
112,03,es
113,04,es
113,05,es
113,06,es
114,07,es
Run Code Online (Sandbox Code Playgroud)

python pandas

3
推荐指数
1
解决办法
3258
查看次数

如何根据字典中的键值逐行向 Pandas 数据框添加值?

我有一本字典,状态值为 c

stateC =    {
  "Washington" : 3,
  "New York" :  5,
  "Houston":  11,
}
Run Code Online (Sandbox Code Playgroud)

和一个数据框:

State       b    
Washington  09   
New York    100    
Houston     55   
Run Code Online (Sandbox Code Playgroud)

我想根据字典的键值集成该列column c,还有一个column d具有值的列b/c

State       b    c   d
Washington  09   3   3
New York    100  5   20  
Houston     55   11  5
Run Code Online (Sandbox Code Playgroud)

如何在熊猫中做到这一点?

python pandas

0
推荐指数
1
解决办法
143
查看次数

如何根据字典键从嵌套字典创建多个新的数据框列

基于这个问题,从这个数据框开始:

import pandas as pd
data = {'key':[111, 112, 113, 114],'other_data':[1, 2, 5, 7]}
df = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)

df

   key  other_data
0  111           1
1  112           2
2  113           5
3  114           7
Run Code Online (Sandbox Code Playgroud)

我想根据字典键和数据框中的一个指定列映射多个新列。

d = {
    "111": {
        "en": 4,
        "es": 2
    },
    "112": {
        "en": 1,
        "es": 8
    },
    "113": {
        "en": 0,
        "es": 11
    },
    "114": {
        "en": 2,
        "es": 3
    }
}
Run Code Online (Sandbox Code Playgroud)

预期的输出数据帧是

key,other_data,en,es
111,1,4,2
112,2,1,8
113,5,0,11
114,7,2,3
Run Code Online (Sandbox Code Playgroud)

数据帧很大,因此如果可能,我更愿意在一个循环或操作中执行此操作。

我尝试了map()和 的各种组合,apply()但无法使其正常工作。

python dictionary dataframe pandas

0
推荐指数
1
解决办法
58
查看次数

标签 统计

pandas ×5

python ×5

dictionary ×2

dataframe ×1

multi-index ×1

remap ×1