Разделение словаря на существующие столбцы

О действии пользователя:

// вам нужно что-то делать по линиям

myJFrame.getContentPane().removeAll()
myJFrame.getContentPane().invalidate()

myJFrame.getContentPane().add(newContentPanel)
myJFrame.getContentPane().revalidate()

. Тогда вы можете изменить размер вашего wndow по мере необходимости.

1
задан horcle_buzz 5 March 2019 в 17:40
поделиться

2 ответа

Это работает:

def func(x):
    d = eval(x['c'])
    x['a'] = d['a']
    x['b'] = d['b']
    return x


df = df.apply(lambda x : func(x), axis=1)
0
ответ дан hacker315 5 March 2019 в 17:40
поделиться

Как насчет этого:

for t in d['c'].keys():
     d[t] = d['c'][t]

Вот пример:

>>> d = {'a': '', 'b': '', 'c':{'a':1, 'b':2}}
>>> d
{'a': '', 'b': '', 'c': {'a': 1, 'b': 2}}
>>> d.keys()
dict_keys(['a', 'b', 'c'])
>>> d['c'].keys()
dict_keys(['a', 'b'])
>>> for t in d['c'].keys():
...     d[t] = d['c'][t]
... 
>>> d
{'a': 1, 'b': 2, 'c': {'a': 1, 'b': 2}}
>>> 

Мы можем превратить его в функцию:

>>> def updateDict(dict, sourceKey):
...     for targetKey in dict[sourceKey].keys():
...             dict[targetKey] = dict[sourceKey][targetKey]
... 
>>> d = {'a': '', 'b': '', 'c':{'a':1, 'b':2}}
>>> def updateDict(dict, sourceKey):
...     for targetKey in dict[sourceKey].keys():
...             dict[targetKey] = dict[sourceKey][targetKey]
...     return dict
... 
>>> d
{'a': '', 'b': '', 'c': {'a': 1, 'b': 2}}
>>> updateDict(d, 'c')
{'a': 1, 'b': 2, 'c': {'a': 1, 'b': 2}}
>>> d = {'a': '', 'b': '', 'c':{'a':1, 'b':2, 'z':1000}}
>>> updateDict(d, 'c')
{'a': 1, 'b': 2, 'c': {'a': 1, 'b': 2, 'z': 1000}, 'z': 1000}
>>> 
0
ответ дан MSurrow 5 March 2019 в 17:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: