Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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 在csv文件中查找Word并使用循环实现它_Python_Pandas_Dataframe_If Statement - Fatal编程技术网

Python 在csv文件中查找Word并使用循环实现它

Python 在csv文件中查找Word并使用循环实现它,python,pandas,dataframe,if-statement,Python,Pandas,Dataframe,If Statement,我有一个名为df的数据帧,它有两列 Company name Company website 0 Maersk Drilling http://www.maerskdrilling.com/ 1 CICLAGUA SA https://simetriagrupo.com/ 2 Enel http://www.enel.com/ 3 Enovos Luxembourg http://www.enovos.lu/ 4 DTEK http:/

我有一个名为df的数据帧,它有两列

    Company name    Company website 
0   Maersk Drilling http://www.maerskdrilling.com/ 
1   CICLAGUA SA https://simetriagrupo.com/ 
2   Enel    http://www.enel.com/ 
3   Enovos Luxembourg   http://www.enovos.lu/ 
4   DTEK    http://www.dtek.com/
现在我试图实现的是,我试图找出存在“gc”字的公司名称,并将其存储到新的数据帧df1中

for i in range(0,a):
    if 'gc' in df['Company name'][i]:
        df1["Company Name"]= df['Company name'][i]
        df1["URL"]=df['Company website'][i]
    else:
        pass
    
但这段代码显示了错误

      1 for i in range(0,a):
----> 2     if 'word' in df['Company name'][i]:
      3         df1["Company Name"]= df['Company name'][i]
      4         df1["URL"]=df['Company website'][i]
      5     else:

TypeError: argument of type 'float' is not iterable

您得到的错误是因为df['Company name']不可编辑,无法对其编制索引。您可以做的是:

df = pd.DataFrame(np.array([["name 1 gc", "gc blalkdd"], ["name 2", "asdfsa3"], ["name 3 gc", "agsd gc asd"]]),
                   columns=['Company name', 'Company website'])

df_new = pd.DataFrame(columns=['Company name', 'Company website'])

for i in range(len(df)):
    row = df.iloc[i]
    if 'gc' in row['Company name']:
        to_append_s = pd.Series(row.values.tolist(), index = df.columns)
        df_new = df_new.append(to_append_s, ignore_index=True)
    else:
        pass
在这里,您可以在数据框
df
上循环,检查列Company name是否包含“gc”,如果是,请附加到
new\u df
。结果:

    Company name    Company website
0   name 1 gc       gc blalkdd
1   name 3 gc       agsd gc asd

您可以对数据帧进行切片

#直接匹配“gc”
df1=df[df['公司名称]=='gc']
#或选择包含“gc”的所有名称
df1=df[df['Company name'].str.contains('gc')]