0
我想扁平列表中包含列表的列表pandas.DataFrame
的內容,但是我找不到正確的輸出方式。用熊貓扁平化淺列表
而不是一個different question問在StackOverflow關於同一主題,這裏的重點是在pandas.DataFrame
的每一行內的奉承過程。
這裏是一個玩具例子:
df = pd.DataFrame({ 'recipe': [['olive oil',
'low sodium chicken broth',
'cilantro leaves',
'chile powder',
'fresh thyme'],
['coconut milk', 'frozen banana', 'pure acai puree', 'almond butter'],
['egg',
'whole milk',
'extra-virgin olive oil',
'garlic cloves',
'corn kernels',
'chicken breasts']],
'category': ['A', 'B', 'B']
})
df_grouped = df.groupby('category')['recipe'].apply(lambda x: x.tolist())
df_grouped = df_grouped.reset_index()
df_grouped['recipe'][1]
這產生下面的輸出:
[['coconut milk', 'frozen banana', 'pure acai puree', 'almond butter'], ['egg', 'whole milk', 'extra-virgin olive oil', 'garlic cloves', 'corn kernels', 'chicken breasts']]
我的目標是要合併逐行單詞或句子的每個列表。 我試着用下面的代碼,但它分裂每個字母。
join = lambda list_of_lists: (val for sublist in list_of_lists for val in sublist)
df_grouped['merged'] = df_grouped['recipe'].apply(lambda x: list(join(x)))
df_grouped['merged']
此產品:
0 [o, l, i, v, e, , o, i, l, l, o, w, , s, o, ...
1 [c, o, c, o, n, u, t, , m, i, l, k, f, r, o, ...
我想下面的輸出的每一行,一個陣列的所有字
['coconut milk', 'frozen banana', 'pure acai puree', 'almond butter', 'egg', 'whole milk', 'extra-virgin olive oil', 'garlic cloves', 'corn kernels', 'chicken breasts']
[在Python平展淺列表]的可能重複(http://stackoverflow.com/questions/406121/flattening-a-shallow-list-in-python) –
這不是一個重複的,這裏的問題是關於一個熊貓數據框,可能的重複是關於一個列表的單個列表。 – Michael