创建单词列表并按索引分组
Posted
技术标签:
【中文标题】创建单词列表并按索引分组【英文标题】:Create list of words and group them by index 【发布时间】:2021-11-14 20:57:46 【问题描述】:我有一列索引,每个索引都有对应的单词:
id | word |
---|---|
1 | word1 |
1 | word2 |
1 | word3 |
2 | word4 |
2 | word5 |
等等。
我想以这种方式按索引对它们进行分组: 对于 id 1-[word1,word2,word3] 对于 id 2-[word4,word5]
等等
并提取到 CSV 文件
我有这个代码:
df = pd.DataFrame(data)
d="word":"first"
df_new = df.groupby(df['id'], as_index=False).aggregate(d).reindex(columns=df['word'])
print (df_new)
df_new.to_csv('test.csv', sep='\t', encoding='utf-8', index=False)
我需要进行哪些更改才能使其正常工作?
提前谢谢你
【问题讨论】:
所以您想将所有word
条目与特定id
合并到一行中?
是的,我有 7000 行带有单词的索引
试试df.groupby("id").agg(list)
【参考方案1】:
# Import Dependencies
import pandas as pd
# Create DataFrame
data = 'id': [1, 1, 1, 2, 2], 'word': ['word1', 'word2', 'word3', 'word4', 'word5']
df = pd.DataFrame(data)
# Groupby and Merge
df = df.groupby('id', as_index=False).agg('word' : ','.join)
# Result
id word
0 1 word1,word2,word3
1 2 word4,word5
【讨论】:
有帮助,但是如果我有 7000 行索引和他们的话,我应该这样做吗? 你在你的 7000 行数据集上试过我的答案了吗?您是否面临任何问题? 它有效,但当我出于某种原因提取 SCV 文件时无效 在您的问题中发布问题的屏幕截图以上是关于创建单词列表并按索引分组的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas:按日期分组,并按时间戳访问每个组