Python 3.x 熊猫:数据帧的重组
我正在寻找清理以下数据的方法: 我想输出如下内容: 第一列为标记化单词,另一列为相关标签 Pandas和NLTK是否有一个特定的策略来一次性获得这种类型的输出Python 3.x 熊猫:数据帧的重组,python-3.x,pandas,data-cleaning,Python 3.x,Pandas,Data Cleaning,我正在寻找清理以下数据的方法: 我想输出如下内容: 第一列为标记化单词,另一列为相关标签 Pandas和NLTK是否有一个特定的策略来一次性获得这种类型的输出 提前感谢您的帮助或建议对于第一个表格,只需拆分第一列并重复第二列: import pandas as pd data = [['foo bar', 'O'], ['George B', 'PERSON'], ['President', 'TITLE']] df1 = pd.DataFrame(data, columns=['col1
提前感谢您的帮助或建议对于第一个表格,只需拆分第一列并重复第二列:
import pandas as pd
data = [['foo bar', 'O'], ['George B', 'PERSON'], ['President', 'TITLE']]
df1 = pd.DataFrame(data, columns=['col1', 'col2'])
print(df1)
df2 = pd.concat([pd.Series(row['col2'], row['col1'].split(' '))
for _, row in df1.iterrows()]).reset_index()
df2 = df2.rename(columns={'index': 'col1', 0: 'col2'})
print(df2)
输出:
col1 col2
0 foo bar O
1 George B PERSON
2 President TITLE
col1 col2
0 foo O
1 bar O
2 George PERSON
3 B PERSON
4 President TITLE
至于拆分第1列,您需要查看支持正则表达式的拆分方法,该方法应允许您处理各种语言分隔符:
如果没有给出第1个表,那么在1中就没有办法做到这一点,因为pandas没有内置NLP功能。使用解决方案,不接受下面或重复中的答案。是的,不幸的是,接受的答案并不总是指像从dupe复制的解决方案这样的最佳答案:(