尝试按Product变量分组并将列中的值连接为字符串
df:
prefs = {'download.default_directory' :'/Users/nrpss/Downloads',
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing_for_trusted_sources_enabled": False,
"safebrowsing.enabled": False
}
options.add_experimental_option('prefs', prefs)
我要创建以下形式的DF:
Product Value
TV 0.1
TV 0.2
TV 0.15
DVD 0.001
DVD 0.01
Netflix 0.1
Netflix 0.2
Netflix 0.25
我认为我应该可以使用类似的东西:
Product Value
TV (0.1, 0.2, 0.15)
DVD (0.001, 0.01)
Netflix (0.1, 0.2, 0.25)
但是这似乎不起作用。我尝试了 map()无济于事。我想我可能使这个复杂化了,但似乎找不到解决方案。
答案 0 :(得分:2)
您几乎完全正确,只需应用lambda即可:
df.groupby('Product')['Value'].apply(lambda x: ",".join(map(str, x)))
您将获得理想的结果。
如果打开/关闭括号很重要,只需添加:
df['Value'].apply(lambda x: f"({x})")