Pandas 取消基于索引的系列
Pandas un-exponde Series based off of Index
我有 pd.dataframe 个句子,例如:
text
0 kusebenta ngendlela lefanele kwemabhizinisi em...
1 bumetima ekuvisiseni umnotfo wemhlaba nekuntji...
2 ngaleyo ndlelake sesincume kusebentisa emandla...
3 emabhisizinisi embuso kufanele angenise imali ...
4 nanoma kulungile kutsi umbuso uwasite ngetimal...
... ...
63121 alimata nobe enta kutsi kulahleke imphahla yem...
63122 afaka engotini imphilo yakhe nobe yalabanye ng...
63123 akhinyabeta kuphatfwa kucondziswa kwetigwegwe ...
63124 asebentisa kabi sikhundla sakhe emisebentini y...
63125 antjontja afumbatsisa nobe enta inkohliso
我有一个 pd.series 的句子,我在分解 pd.dataframe 后得到了这样的句子:
series1 = df1['field_name'].str.split().explode()
这给出了 pd.series:
0 kusebenta
0 ngendlela
0 lefanele
0 kwemabhizinisi
0 embuso
0 tate
0 owned
0 enterprises
0 kungumgogodla
0 wentfutfuko
0 yelive
1 bumetima
1 ekuvisiseni
1 umnotfo
1 wemhlaba
1 nekuntjintjantjintja
1 kwawo
1 emandla
1 etimakethe
1 kanye
Name: text, dtype: object
我现在想在对系列进行一些处理后,将 pd.series 中的单词分解并重新组合成完整的句子。
我一直在考虑使用 'groupby',但在尝试按索引分组时收效甚微。
我也曾尝试将其转换为 pd.dataframe,但遇到有关具有相同索引的错误。
P.S。是否可以创建一个索引长度不超过 pd.series 的新 DF,然后以某种方式将 pd.series 数据连接为完整的句子或以这种方式使用 groupby?
编辑 1:
运行 vocab.head().to_dict()
按照评论中的建议产生以下输出:
{0: 'embuso'}
这是第 5 个元素,因为 head 默认给出 5 个结果。
运行 vocab.head(20).to_dict()
产生:
{0: 'yelive', 1: 'kanye'}
索引为 0 的最后一个元素是 'yelive','kanye' 是 'index 1'
中的一个元素
在 explode()
生成的索引上应用 str.join
:
>>> series1.groupby(level=0).apply(' '.join)
0 kusebenta ngendlela lefanele kwemabhizinisi em...
1 bumetima ekuvisiseni umnotfo wemhlaba nekuntji...
Name: text, dtype: object
我有 pd.dataframe 个句子,例如:
text
0 kusebenta ngendlela lefanele kwemabhizinisi em...
1 bumetima ekuvisiseni umnotfo wemhlaba nekuntji...
2 ngaleyo ndlelake sesincume kusebentisa emandla...
3 emabhisizinisi embuso kufanele angenise imali ...
4 nanoma kulungile kutsi umbuso uwasite ngetimal...
... ...
63121 alimata nobe enta kutsi kulahleke imphahla yem...
63122 afaka engotini imphilo yakhe nobe yalabanye ng...
63123 akhinyabeta kuphatfwa kucondziswa kwetigwegwe ...
63124 asebentisa kabi sikhundla sakhe emisebentini y...
63125 antjontja afumbatsisa nobe enta inkohliso
我有一个 pd.series 的句子,我在分解 pd.dataframe 后得到了这样的句子:
series1 = df1['field_name'].str.split().explode()
这给出了 pd.series:
0 kusebenta
0 ngendlela
0 lefanele
0 kwemabhizinisi
0 embuso
0 tate
0 owned
0 enterprises
0 kungumgogodla
0 wentfutfuko
0 yelive
1 bumetima
1 ekuvisiseni
1 umnotfo
1 wemhlaba
1 nekuntjintjantjintja
1 kwawo
1 emandla
1 etimakethe
1 kanye
Name: text, dtype: object
我现在想在对系列进行一些处理后,将 pd.series 中的单词分解并重新组合成完整的句子。
我一直在考虑使用 'groupby',但在尝试按索引分组时收效甚微。
我也曾尝试将其转换为 pd.dataframe,但遇到有关具有相同索引的错误。
P.S。是否可以创建一个索引长度不超过 pd.series 的新 DF,然后以某种方式将 pd.series 数据连接为完整的句子或以这种方式使用 groupby?
编辑 1:
运行 vocab.head().to_dict()
按照评论中的建议产生以下输出:
{0: 'embuso'}
这是第 5 个元素,因为 head 默认给出 5 个结果。
运行 vocab.head(20).to_dict()
产生:
{0: 'yelive', 1: 'kanye'}
索引为 0 的最后一个元素是 'yelive','kanye' 是 'index 1'
在 explode()
生成的索引上应用 str.join
:
>>> series1.groupby(level=0).apply(' '.join)
0 kusebenta ngendlela lefanele kwemabhizinisi em...
1 bumetima ekuvisiseni umnotfo wemhlaba nekuntji...
Name: text, dtype: object