如何在python中比较两列字符串?

如何在python中比较两列字符串?,python,pandas,Python,Pandas,我的CSV文件包含20列,我只需要获取与我的研究相关的那些地址的数据,因此我将包含所有地址的列与仅包含特定地址的列进行比较 我收到“关键错误”,表示所选城市的索引不存在: import csv import os import pandas as pd data_new = pd.read_csv('file1.csv', encoding= "ISO-8859–1") print(data_new) for i in rows: if str(data.loc['selected_ci

我的CSV文件包含20列,我只需要获取与我的研究相关的那些地址的数据,因此我将包含所有地址的列与仅包含特定地址的列进行比较

我收到“关键错误”,表示所选城市的索引不存在:

import csv
import os
import pandas as pd
data_new = pd.read_csv('file1.csv', encoding= "ISO-8859–1")
print(data_new)
for i in rows:
    if str(data.loc['selected_city'] == data.loc['Charge_Point_City'])
print(data.Volume,data.Charge_Point_City)

考虑使用内置函数
.isin()

例如:

s = pd.Series(['a','b','c', 'b','c','a','b'])
所以现在s看起来像:

0    a
1    b
2    c
3    b
4    c
5    a
6    b
假设您只想将s所在的行保留为较小的系列:

smol = pd.Series(['a','b'])
s[s.isin(smol)]
输出:

0    a
1    b
3    b
5    a
6    b
对于您的特定用例,您可能需要

data = data[data['selected_city'].isin(data['Charge_Point_City'])]

您好,欢迎访问该网站!请小心,您发布的代码不是有效的python代码,if语句的结尾应该有一个分号,并且行应该缩进两次。请共享几行示例数据,以便我们能够准确地看到您试图实现的目标。如果您需要帮助,请参阅。这应该可以实现OP的目标“将包含所有地址的列与仅包含特定地址的列进行比较”,假设OP只想保留这些行。显然,他们可能只想标记为正确的行,在这种情况下,不需要将筛选器应用于原始数据源,只需设置
data['indicator']=data['selected_city'].isin(data['Charge\u Point\u City'])
。他们引用的关键错误表明,
'selected\u City'
数据
数据框中不是有效的列名。对于其他人的问题,您有一个很好的单行解决方案。然后其他人会很高兴找到它。请随意添加其他答案。