【问题标题】: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)

标签: python pandas list group-by aggregation-framework


【解决方案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 文件时无效
  • 在您的问题中发布问题的屏幕截图
猜你喜欢
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 2017-12-31
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
相关资源
最近更新 更多