【发布时间】:2014-02-11 13:10:57
【问题描述】:
这三个问题我只是想不通,希望有人能帮助我。
import pandas as pd
data = {'Col1': ['ONE, ONE, NULL', 'ONE, TWO, THREE', 'TWO, NULL, TEN']}
index = pd.Index(['d1','d2','d3'])
data = pd.DataFrame(data,index=index)
pattern = 'ONE|TWO' <----QUESTION1
data['Col1'].str.findall(pattern) <----QUESTION2
问题 1:如何更改此正则表达式,以便在 d1 中仅找到一次“ONE”?现在,每个找到的 ONE 实例都将返回,如下所示。
d1 [ONE, ONE]
d2 [ONE, TWO]
d3 [TWO]
我想要这个
d1 [ONE]
d2 [ONE, TWO]
d3 [TWO]
问题 2:
我想将列表 d1、d2 和 d3 放入一个仅包含唯一值的列表。是这样的:
set(d1 + d2 + d3) ---> ['ONE', 'TWO']
问题 3:
如果我会做这样的事情:
data['Col2'] = data['Col1'].str.findall(pattern)
如何遍历 Col2 中的每一行以获得与我在 Question2 中要求的结果相同的结果?
【问题讨论】: