有没有一种方法可以更改数据帧字典中的数据帧的列中的值?

时间:2019-01-15 22:12:56

标签: python pandas dictionary dataframe

我有一个数据帧字典:

In[4]: df_dict
Out[4]:

1:     A   B   C   D
   0  68   0  98  83
   1  10  71  36  69
   2  49  57  59  40
   3  54  28  64  37
   4  70  58  91  29

2:     A   B   C   D
   0  17  69  59   7
   1  79  66  72  53
   2  81  37  26  34
   3   0  63  80  15
   4  20  55  64  86

3:     A   B   C   D
   0  14  79  91  14
   1  89  86  57  59
   2  42  18   7  51
   3  22  85  63  35
   4  10  12  46  92

如果我想将字符串“ JAN”添加到字典每个数据帧中B列的每个值,我该怎么做?例如,对于键== 1的数据帧,我希望B列中的值是[0JAN,71JAN,57JAN,28JAN,58JAN],并且我希望字典中的每个B列都使用。假设B列的当前值已经被格式化为字符串。

1 个答案:

答案 0 :(得分:2)

重新创建字典:

df_dict = {k: df.assign(df['B'].astype(str) + 'JAN') for k, df in df_dict.items()}

或者,就地分配,这便宜一些:

for df in df_dict.values():
    df['B'] = df['B'].astype('str') + 'JAN'

或者,

# Iterate over the items, @jpp
for k, v in df_dict.items():
    df_dict[k]['B'] = v['B'].astype('str') + 'JAN'
相关问题