2024-04-25 02:24:49 发布
网友
对于这个给定的示例数据帧 Starting data frame 我想连接每个唯一项目的“level1”和“level2”的值,返回
Required result 对于每个项目,结果应该只包含一行,“level1”和“level2”中的每个相关值都用条形符号连接和分隔。在
我想知道,如果目前使用的是一个循环的方法,可以更快地使用pandas的循环方法来实现。在
您可以对索引轴执行groupbyw.r.t。在选择与每个组对应的所有唯一元素之后,通过使用sep="|"将所有列连接起来,聚合所有列。在
groupby
sep="|"
df.groupby(level=0).agg(lambda grp: '|'.join(grp.unique()))
数据:
这对你有用吗?在
我将添加DF代码,使其他人也更容易。在
df = pd.DataFrame({'project': [1,1,1,1,1,2,3], 'Level 1' : ['Fruit', 'Fruit', 'Fruit', 'Vegetable', 'Vegetable', 'Fruit', 'Vegetable'], 'Level 2' : ['Apple', 'Banana', 'Lemon', 'Carrot', 'Tomato', 'Banana', 'Cucumber']}) df.set_index('project', inplace = True) grouped = df.groupby(df.index).agg(lambda x: '|'.join(x.unique()))
您可以对索引轴执行
groupby
w.r.t。在选择与每个组对应的所有唯一元素之后,通过使用sep="|"
将所有列连接起来,聚合所有列。在数据:
^{pr2}$这对你有用吗?在
我将添加DF代码,使其他人也更容易。在
相关问题 更多 >
编程相关推荐