我有以下
for col in Features:
My_Features = pd.merge(My_Features,Drug.ix[:,[col]], left_index = True,right_index=True)
产生以下
My_Features.columns
Out[373]: Index([u'**PCBD1_x**', u'**PCBD1_y**', u'KLK8', u'TNFSF13 /// TNFSF12-', u'RIPK5', u'SVIL'], dtype='object')
虽然它应该完全匹配
的功能Features
Out[375]: ['PCBD1', 'KLK8', 'TNFSF13 /// TNFSF12-', 'RIPK5', 'SVIL']
如何更改" col"在上面创建数据框时匹配。换句话说,要避免 BOLD 列匹配。这是一个正则表达式问题。
更新
我正在尝试提取"功能"中列出的列。来自" Drug"。
之前for col in Features:
My_Features = pd.merge(My_Features,Drug.ix[:,[col]], left_index = True,right_index=True)enter code here
我有以下行来创建My_Features的结构
My_Features = pd.DataFrame( Drug.ix[:,Features[0]] , index = Drug.index , columns=[Features[0]])
所以整个代码看起来像
My_Features = pd.DataFrame( Drug.ix[:,Features[0]] , index = Drug.index , columns=[Features[0]])
iterfeatures = iter(Features)
next(iterfeatures)
for col in Features:
My_Features = pd.merge(My_Features,Drug.ix[:,[col]], left_index = True,right_index=True)
答案 0 :(得分:0)
您可以使用pandas.DataFrame.filter()。它有一个正则表达式参数[以及一个“喜欢”参数]。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.filter.html