【发布时间】:2019-02-13 02:04:24
【问题描述】:
我有一本像这样的字典:
global_dict_names=dict{'com':'owb_com','cur':'cur_con','cty':'gds_cty','cur':'gds_cur'}
我的数据框如下所示:
com12 cur34 cty56 cur78
a b c d
b c d e
我希望我的数据框看起来像这样:
owb_com12 cur_con34 gds_cty56 gds_cur78
a b c d
b c d e
我当前的代码如下所示:
GDS2018_labels.columns = [global_dict_names.get(x[:3], x) for x in
GDS2018_labels.columns]
当前代码将列名的前三个字符与字典中的键匹配。这段代码的问题是它替换了整个列名,但我只想替换与键匹配的列名的子字符串。我该如何纠正这个问题?
【问题讨论】:
-
为什么你的字典有重复的
'cur'键?字典键是唯一的。 -
或许
[x.replace(x[:3], global_dict_names.get(x[:3], x)) for x in GDS2018_labels.columns]? -
所以...
GDS2018_labels.columns是 - 并且应该保留 - 一个列表?global_dict_names是什么?你能提供一些(半)工作代码吗?
标签: python string pandas dictionary dataframe