使用带格式字符串的生成器创建字典

时间:2017-02-18 05:22:42

标签: python pandas

我想通过循环遍历字符串列名列表来创建字典中的数据框,而不是直接对数据帧进行切片。例如

df = pd.DataFrame(np.random.randn(100,7), columns=list('ABCDEFG'))

list_of_cols = ['A','B','C']

dictslice = {'%s': df['%s'] % (elt for elt in list_of_cols), 'Z': np.ones(len(df))}

但我不能在字符串之外有格式字符串,所以我不知道如何继续。我不想要像

这样的解决方案
df[[list_of_cols]]

因为我想向dictslice添加更多向量,这些向量可能不一定是df。

有人可以帮忙吗?

修改 我很傻,它适用于此:

 dictslice = {'%s' % elt : df[elt] for elt in list_of_cols}

但这不起作用:

 dictslice = {'%s' % elt : df[elt] for elt in list_of_cols, 'Z': np.ones(len(df))}

1 个答案:

答案 0 :(得分:0)

这似乎可以通过简单的变量访问来完成。

这有什么问题:

df = pd.DataFrame(np.random.randn(100,7), columns=list('ABCDEFG'))

list_of_cols = ['A','B','C']

dictslice = dict([(elt, df[elt]) for elt in list_of_cols] + [('Z', np.ones(len(df)))])