Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 熊猫:数据帧的重组_Python 3.x_Pandas_Data Cleaning - Fatal编程技术网

Python 3.x 熊猫:数据帧的重组

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

我正在寻找清理以下数据的方法:

我想输出如下内容:

第一列为标记化单词,另一列为相关标签

Pandas和NLTK是否有一个特定的策略来一次性获得这种类型的输出


提前感谢您的帮助或建议

对于第一个表格,只需拆分第一列并重复第二列:

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复制的解决方案这样的最佳答案:(