在dataframe中找到某个值,并最终输出其对应的其他某个列的值
https://chehongshu.blog.csdn.net/article/details/107623238
错误
find_series = df[df['obj']==i]['solution']
print(find_series.values[0])#输出obj列等于i的solution列的第0行的值
提示错误
ValueError: (‘Lengths must match to compare’, (907,), (2,))
原因
https://cumsum.wordpress.com/2021/07/24/pandas-valueerror-lengths-must-match-to-compare/
我的i是个有两个元素的list, 不能直接对比
由于 pandas 尝试对比较进行矢量化,即逐个元素进行比较,因此它要求双方具有相同的大小。 而且它不会知道您要将右侧列表作为一个整体与左侧列中的每个元素进行比较。
改正
se = df['obj'].map(tuple) == tuple(i)
a = se[se == True].index.values
print(df.at[a[0], 'solution'])##输出obj列等于i的solution列的第0行的值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)