自动替换和添加pandas中的数据(使用一些过滤器)

时间:2016-12-23 11:11:08

标签: python python-2.7 pandas replace

我现在正在学习大熊猫,当我想在熊猫的数据框中自动添加内容时遇到问题。 这是我的数据

import pandas 
Data=pandas.read_excel(r'D:\pandas.test.xlsx',sheetname='Sheet1')
print Data

Name    N          P

cd05233-SDR_c   237   41.872792
smart00895-FCD   215   37.985866
pfam00126-HTH_1   206   36.395760
pfam07729-FCD   202   35.689046
pfam00165-HTH_AraC   197   34.805654

我想添加一个新列'分类' 当Name中的项目包含'cd'时,'Classification'将更改为'cd',

我写这样的命令:

Data[''Classification'']='N'
Data[Data.Name.str.contains('cd')].iat[0,3]='cd'
print Data

数据是:

Name    N          P           classification

cd05233-SDR_c   237   41.872792               N
smart00895-FCD   215   37.985866               N
pfam00126-HTH_1   206   36.395760               N
pfam07729-FCD   202   35.689046               N
pfam00165-HTH_AraC   197   34.805654               N

该计划后没有任何事情发生,有人能告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:2)

我认为你需要:

Data.loc[Data.Name.str.contains('cd'), 'Classification'] = 'cd'

如果需要cdn

Data['Classification'] = np.where(Data.Name.str.contains('cd'), 'cd', 'n')