Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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比较同一数据帧中的两个字符串列,返回匹配结果_Python_Pandas_Dataframe_Compare_Matching - Fatal编程技术网

Python比较同一数据帧中的两个字符串列,返回匹配结果

Python比较同一数据帧中的两个字符串列,返回匹配结果,python,pandas,dataframe,compare,matching,Python,Pandas,Dataframe,Compare,Matching,我有一个数据帧,它有两个字符串状态列:state和state_ALPHA,我只想在两个列匹配时返回。两列都是两个字符串(AK、CA、FL),我知道预期结果应该是什么。谢谢你的帮助 df8 = df7[df7['State'] == df7['STATE_ALPHA']] 我试过以下方法: df10=df9['State']==['STATE_ALPHA'] 我收到错误:数组长度不同:706对1 df10=df9['State']=['STATE_ALPHA'] 收到错误:使用@Veer

我有一个数据帧,它有两个字符串状态列:state和state_ALPHA,我只想在两个列匹配时返回。两列都是两个字符串(AK、CA、FL),我知道预期结果应该是什么。谢谢你的帮助

df8 = df7[df7['State'] == df7['STATE_ALPHA']]
我试过以下方法:

 df10=df9['State']==['STATE_ALPHA']
我收到错误:数组长度不同:706对1

 df10=df9['State']=['STATE_ALPHA']

收到错误:使用@Veera的输入示例,值的长度与索引的长度不匹配

import pandas as pd
df=pd.DataFrame({"string1":['CA','MI','AZ','NY'],"string2":['CA','MA','FL','NY']})

df_common=df[df[["string1","string2"]].apply(lambda x : x[0]==x[1],axis=1)].reset_index(drop=True).copy()
df=pd.DataFrame({"string1":['CA','MI','AZ','NY'],"string2":['CA','MA','FL','NY']})
df[df.string1==df.string2]
string1 string2
0   CA  CA
3   NY  NY

这个解决方案非常适合我的需要。谢谢你的帮助

df8 = df7[df7['State'] == df7['STATE_ALPHA']]

df10=df9['State']==df9['State\u ALPHA']
df9['State']==df9['State\u ALPHA']这些不会返回匹配的行,但不会给我错误。它不会给出错误,因为长度相同,但会返回一个可用于筛选的布尔序列。见下面我的答案我发布了我问题的解决方案。我们非常接近。