【问题标题】:How to define variable names based on dictionary keys? [duplicate]如何根据字典键定义变量名? [复制]
【发布时间】:2019-03-18 06:23:51
【问题描述】:

我正在运行一个循环来根据给定字典的值对表进行切片。但我想为每个循环创建一个表并使用字典的键保存表。在下面的例子中,我想把'key'放在表名df_slice中,比如df_slice_loc1,df_slice_loc2

import numpy as np
import pandas as pd

df = pd.DataFrame({'group': ['A', 'B', 'C', 'D', 'E']
                  ,'scoreA': np.random.randn(5)
                  ,'scoreB': np.random.randn(5)})


loc_d = {"loc1":2, "loc2":3}

for key, value in loc_d.items():
    df_slice = df.iloc[:value,]

【问题讨论】:

  • 如果我正确理解了您的问题,您就不能使用另一个字典来存储来自loc_d 的键并将它们映射到它们对应的df.iloc[value,]s 吗?

标签: python pandas numpy dictionary


【解决方案1】:

对可变数量的变量使用字典

例如,使用dictionary comprehension

df_slice = {key: df.iloc[:value] for key, value in loc_d.items()}

print(df_slice)

{'loc1':   group    scoreA    scoreB
0     A  0.139625 -0.321823
1     B  2.137781  0.103702,

 'loc2':   group    scoreA    scoreB
0     A  0.139625 -0.321823
1     B  2.137781  0.103702
2     C -1.000334  0.680955}

然后通过例如df_slice['loc2'] 访问切片。

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 2021-08-15
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    相关资源
    最近更新 更多