根据比较将单元格与数组和打印行进行比较
Posted
技术标签:
【中文标题】根据比较将单元格与数组和打印行进行比较【英文标题】:Comparing cells with array and printing rows acording to comparison 【发布时间】:2019-03-26 06:31:48 【问题描述】:我是 python 和 pandas 的新手...所以我正在使用 pandas 来读取和处理 .CSV 和其他 excel 文件...现在我有一个看起来可以这样说的 excel 文件:
A B C D E
f - - - - 1
g - - - - 2
h - - - - 4
i - - - - 8
j - - - - 9
我有数组 x[2,4,9,11,20](在我的情况下,数组和 excel 文件要大得多,但我现在想保持简单),我想比较列 E到该数组并打印 E 等于 x 中的任何值的行...所以输出看起来像:
A B C D E
g - - - - 2
h - - - - 4
j - - - - 9
知道我该怎么做吗?谢谢你的帮助。
【问题讨论】:
【参考方案1】:你为什么不尝试一个简单的条件,不确定这是否可行我没有任何代码在运行。
df[df["E"] in our_array]
这样不行吗?
【讨论】:
【参考方案2】:使用.isin
df = pd.DataFrame('A': [10,20,30,40,50],
'E':[1,2,4,8,9])
x = [2,4,9,11,20]
df1 = df.iloc[df[df.isin(x)].dropna(how='all').index]
print (df1)
A E
1 20 2
2 30 4
4 50 9
【讨论】:
【参考方案3】:您可以将布尔索引与 pd.Series.isin
一起使用:
x = [2, 4, 9, 11, 20]
df = df[df['E'].isin(x)]
或者,您可以query
您的数据框:
df = df.query('E in @x')
【讨论】:
以上是关于根据比较将单元格与数组和打印行进行比较的主要内容,如果未能解决你的问题,请参考以下文章
用于比较具有包含日期的单元格的列并将特定文本粘贴到另一列的 Vba 代码
如何在谷歌电子表格中将多个单元格与一行中的两个可能值进行比较?