【发布时间】:2018-12-23 19:19:18
【问题描述】:
我有一个关于将结果添加到现有数据框的问题。
if relevant_item != 'None' and relevant_item != 'Not in dict':
items = relevant_item
len_item = len(items)
if len_item == 1:
item_result = items
if len_item == 2:
two = items
item_result = some_method(two)
if len_item == 3:
threes = items
item_result = some_method(three)
hash_in_dict_shopping.append(item_result)#new list of list
shops = pd.Series(hash_in_dict_shopping)
df_final['hash_in_shop'] = shops.values
将新列表附加到现有数据框时,我收到一条错误消息“ValueError:值的长度与索引的长度不匹配”,所以我想知道如何将新列表添加到新列并填充所有缺少“无”的行值,同时保持原始顺序?
过滤前的原始数据(约700行):
'None'
'Not in dict'
['apple','banana', 'grapes']
'None'
'Not in dict'
'Not in dict'
['pasta', 'rice', 'lentils']
'None'
'None'
['milk']
过滤相关项目的数据后(大约 40 行):
['apple','banana', 'grapes']
['pasta', 'rice', 'lentils']
['milk']
应用 some_method 后(从字典中返回一个值):
['fruit','green groceries']
['dry food', 'staples', 'legumes']
['dairy']
数据框中的新列包含所有 700 行:
'None'
'None'
['fruit','green groceries']
'None'
'None'
'None'
['dry food', 'staples', 'legumes']
'None'
'None'
['dairy']
【问题讨论】:
标签: python python-3.x pandas dataframe series