过滤包含列表的数据框中的列

时间:2018-07-12 06:31:41

标签: python regex dataframe filter

我有一个数据框,其中一列包含列表。我正在尝试使用正则表达式过滤此列,但我得到的只是空数据框。

                            Source                    Length
0              [the sub-study process is over., EEE]       2
1  [Optional Pharma (DNA Research), Sub-Study inf...       2
2       [Sub-study ............................  41]       1   

我正在尝试过滤列表中字符串末尾“源列”中包含“(。*?)”的行(例如: 1 [Optional Pharma(DNA Research),子研究信息... 2:,使用下面的代码,该行在列表中第一个值的末尾带有(DNA Research)。

print(file_df.filter( regex=r'\(.*?\)\Z',axis=0))

输出为

Empty DataFrame
Columns: [ Source, Length]
Index: []

然后我尝试了这个

print(file_df[file_df.Source.str.match('\(.*?\)\Z')])

我得到了

KeyError: '[nan  nan] not in index'

有人可以指出我代码的错误之处吗?

添加我的代码:

def sentence_process(file_df):
  print(file_df.loc[file_df['Source'].str.contains(r'^[^,]*\([^()]*\)',regex= True)])

1 个答案:

答案 0 :(得分:0)

尝试一下:

<div class="loader"></div>

您将获得输出:

<div *ngIf="!loading">{{ user.name }}</div>
<div class="loader" *ngIf="loading"></div>