【发布时间】:2018-07-28 11:45:30
【问题描述】:
我遇到了这个解释得非常清楚的类似问题 (Get last "column" after .str.split() operation on column in pandas DataFrame),并使用了一些找到的代码。但是,这不是我想要的输出。
raw_data = {
'category': ['sweet beverage, cola,sugared', 'healthy,salty snacks', 'juice,beverage,sweet', 'fruit juice,beverage', 'appetizer,salty crackers'],
'product_name': ['coca-cola', 'salted pistachios', 'fruit juice', 'lemon tea', 'roasted peanuts']}
df = pd.DataFrame(raw_data)
目标是从每一行中提取各种类别,并且只使用最后2个类别来创建一个新列。我有这段代码,它有效,并且我将感兴趣的类别作为一个新列。
df['my_col'] = df.categories.apply(lambda s:s.split(',')[-2:])
output
my_col
[cola,sugared]
[healthy,salty snacks]
[beverage,sweet]
...
但是,它显示为列表。我怎么能不让它显示为列表?这可以实现吗?谢谢大家!!!!!!
【问题讨论】:
-
如果不是列表,那该怎么办?