Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.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 - Fatal编程技术网

Python 比较列和熊猫

Python 比较列和熊猫,python,pandas,Python,Pandas,我在两个数据帧中有四列,我想检查列中的id1=id2和count1=count2是否相同,如果它们匹配,则结果为1,如果不匹配,则结果为0。 但是,我的代码只返回0。 我认为它不会一个接一个地迭代,而是以不同的行号进行迭代。我试着压缩我想要的专栏,但我看不出有什么不同。你有什么想法吗?谢谢大家! import pandas as pd file1 = 'file1.csv' file2 = 'file2.csv' df1 = read_csv(file1) df1 = read_csv(fil

我在两个数据帧中有四列,我想检查列中的id1=id2和count1=count2是否相同,如果它们匹配,则结果为1,如果不匹配,则结果为0。 但是,我的代码只返回0。 我认为它不会一个接一个地迭代,而是以不同的行号进行迭代。我试着压缩我想要的专栏,但我看不出有什么不同。你有什么想法吗?谢谢大家!

import pandas as pd
file1 = 'file1.csv'
file2 = 'file2.csv'

df1 = read_csv(file1)
df1 = read_csv(file2)

id1 = df1['id1']
count1 = df1['count1']
id2 = df2['id2']
count2 = df2['count2']

newresult = pd.concat([id1, count1, id2, count2], axis = 1)
id1 = zip(df1['id1'])
count1 = zip(df1['count1'])

newresult['compare'] = newresult.apply(lambda x: 1 if x['id1'] == x['id2'] and x['count1'] == x['count2'] else 0, axis = 1)

它确实有效!你能给我一个关于你用np.random.randint(0,2,(50,4))做了什么的小解释吗?为了举例,我只是使用
np.random.randint(0,2,(50,4))
来创建一个随机数据。在这里,该语句将返回一个包含50行4列的二维数组,其随机整数值介于0和2之间
np.random.randint(0,2,(50,4))
可能是csv文件的内容。
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 2, (50, 4)), columns=["id1", "id2", "count1", "count2"])
df["compare"] = ((df.id1==df.id2) & (df.count1==df.count2)).astype(int)