Pandas 将不同行中的所有文本添加到一列中

Pandas 将不同行中的所有文本添加到一列中,pandas,dataframe,text-mining,data-cleaning,Pandas,Dataframe,Text Mining,Data Cleaning,我有一个有两列的数据框。第一列是学生的ID,第二列是学生对考试的看法。学生可能对考试有一次或多次争吵。如何将每个学生的所有文本添加到每个学生的一行中? 在图中,我们有三个学生。第一个学生分三行表达他的观点。我怎么能一字不差地说出他的意见呢。 假设要使用换行符作为分隔符: df.groupby('student ID')['Transcript'].apply(lambda t: '\n'.join(t)) 在IPython或Jupyter中预览数据帧时,您将看到几个\n字符,但它们只是实际换行

我有一个有两列的数据框。第一列是学生的ID,第二列是学生对考试的看法。学生可能对考试有一次或多次争吵。如何将每个学生的所有文本添加到每个学生的一行中? 在图中,我们有三个学生。第一个学生分三行表达他的观点。我怎么能一字不差地说出他的意见呢。

假设要使用换行符作为分隔符:

df.groupby('student ID')['Transcript'].apply(lambda t: '\n'.join(t))

在IPython或Jupyter中预览数据帧时,您将看到几个
\n
字符,但它们只是实际换行符的指示符,而不是斜杠-n(
\n

,假设要使用换行符作为分隔符:

df.groupby('student ID')['Transcript'].apply(lambda t: '\n'.join(t))
在IPython或Jupyter中预览数据帧时,您将看到几个
\n
字符,但它们只是实际换行符的指示符,而不是斜杠-n(
\n

如果您试图将不同的行作为多个句子连接成一行,则可以使用
.agg('..join)

print(df)
In[1]: 
   student ID Transcript
0      101010          A
1      101010          B
2      101010          C
3      202020          A
4      202020          B
5      303030          A
6      303030          B

如果要将不同的行作为多个句子连接成一行,可以使用
.agg('...join)

print(df)
In[1]: 
   student ID Transcript
0      101010          A
1      101010          B
2      101010          C
3      202020          A
4      202020          B
5      303030          A
6      303030          B


欢迎来到SO,祝贺你的第一个问题。务必阅读关于如何解决问题的指南。通常,发布数据样本,而不是屏幕截图。这让任何想帮你的人都觉得很无聊。此外,请尝试分享您自己解决问题的个人尝试。@Fadi请单击我的答案旁边的复选标记,接受其中一个答案作为解决方案。非常感谢。欢迎来到SO,祝贺你的第一个问题。务必阅读关于如何解决问题的指南。通常,发布数据样本,而不是屏幕截图。这让任何想帮你的人都觉得很无聊。此外,请尝试分享您自己解决问题的个人尝试。@Fadi请单击我的答案旁边的复选标记,接受其中一个答案作为解决方案。非常感谢。