如果这个问题太麻烦了,请原谅,我是Python的新手,需要在工作中使用它,不幸的是,这意味着您需要先进入更高层次的知识而无需首先了解基础知识...
我有一个带有文本记录的海量CSV文件,然后将其读入pandas数据框。这些成绩单被分解为ID,并且必须将ID分组以获取每次交互的唯一记录,因为它们会在其原始数据库中分解成多个部分。格式如下:
ID TEXT
1 This is the beginning of a convo
1 heres the middle
1 heres the end of the convo
2 this is the start of another convo...etc.
我使用以下代码按ID分组并创建单条记录:
df1 = df.groupby('ID').text.apply(' '.join)
这段代码很好用,但是现在我陷入了一个无法识别索引“ ID”的系列(?),我认为它已经与文本或其他内容合并了。当我使用to_frame()时,问题仍然存在。我想知道如何再次分离ID并将其用于索引数据吗?
答案 0 :(得分:1)
groupby将返回groupby-ed列作为索引。查看您的代码,这就是我所看到的。
import pandas as pd
df = pd.DataFrame({'ID':[1,1,1,2],
'TEXT':['This is the beginning of a convo', 'heres the
middle', 'heres the end of the convo', 'this is the
start of another convo...etc.']})
df1 = df.groupby('ID').TEXT.apply(' '.join)
print(df1)
ID
1 This is the beginning of a convo heres the mid...
2 this is the start of another convo...etc.
Name: TEXT, dtype: object
如果希望将ID作为数据框中的列,则可以采用序列df1
并对其重新编制索引,或者将其作为序列的索引继续进行操作,具体取决于下一个对象步骤就可以了。
df1 = df1.reset_index()
print(df1)
ID TEXT
0 1 This is the beginning of a convo heres the mid...
1 2 this is the start of another convo...etc.