![](/img/trans.png)
[英]Convert all rows of a Pandas dataframe column to comma-separated values with each value in single quote
[英]groupby comma-separated values in single DataFrame column python/pandas
舉個例子,假設我有一個python pandas DataFrame,如下所示:
# PERSON THINGS
0 Joe Candy Corn, Popsicles
1 Jane Popsicles
2 John Candy Corn, Ice Packs
3 Lefty Ice Packs, Hot Dogs
我想使用pandas groupby功能來獲得以下輸出:
THINGS COUNT
Candy Corn 2
Popsicles 2
Ice Packs 2
Hot Dogs 1
我通常理解以下groupby命令:
df.groupby(['THINGS']).count()
但輸出不是單個項目,而是整個字符串。 我想我明白為什么會這樣,但是我不清楚如何最好地解決問題以獲得所需的輸出而不是以下內容:
THINGS PERSON
Candy Corn, Ice Packs 1
Candy Corn, Popsicles 1
Ice Packs, Hot Dogs 1
Popsicles 1
pandas是否有像SQL中的LIKE這樣的函數,或者我在考慮如何在pandas中做錯?
任何協助贊賞。
通過拆分單詞創建一個系列,並使用value_counts
In [292]: pd.Series(df.THINGS.str.cat(sep=', ').split(', ')).value_counts()
Out[292]:
Popsicles 2
Ice Packs 2
Candy Corn 2
Hot Dogs 1
dtype: int64
您需要拆分THINGS
,
並展平系列和計數值。
pd.Series([item.strip() for sublist in df['THINGS'].str.split(',') for item in sublist]).value_counts()
輸出:
Candy Corn 2
Popsicles 2
Ice Packs 2
Hot Dogs 1
dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.