逻辑操作:从数据框中的列中选择两个值

     2023-03-12     245

关键词:

【中文标题】逻辑操作:从数据框中的列中选择两个值【英文标题】:Logic operation: Select two values from a column in a dataframe 【发布时间】:2019-09-30 22:28:48 【问题描述】:

我有一个数据框如下,

df2 = pd.DataFrame('a' : ['one', 'one', 'two', 'three', 'two', 'one', 'six'],
                    'b' : ['x', 'y', 'y', 'x', 'y', 'x', 'x'],
                    'c' : np.random.randn(7))

我想从df2中选择'a'列等于'二'或'三'的数据,我的代码如下,

df2[df2['a']=='two'or df2['a']=='three']

谁能告诉我为什么我的代码不起作用?

错误:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

提前致谢!

【问题讨论】:

【参考方案1】:

使用| 代替or

df2[(df2['a']=='two') | (df2['a']=='three')]

【讨论】:

我知道'|'是按位和或是一个逻辑,但我很困惑为什么我需要在这里使用 |而不是or,你能解释一下吗?谢谢!【参考方案2】:

你很接近但你需要做一些事情,首先使用|运算符指定一个or语句,然后将每个条件放在括号中,

这应该可行

df2.loc[(df2['a']=='two') | (df2['a']=='three')]

【讨论】:

【参考方案3】:

那是isin

slice=df2.loc[df2.a.isin(['one','two'])].copy()
slice
Out[797]: 
     a  b         c
0  one  x -0.064378
1  one  y  0.344902
2  two  y -0.080087
4  two  y  1.433515
5  one  x  1.065794

【讨论】:

如何从熊猫数据框中的列中删除字符串值

】如何从熊猫数据框中的列中删除字符串值【英文标题】:Howtoremovestringvaluefromcolumninpandasdataframe【发布时间】:2016-01-2912:52:58【问题描述】:我正在尝试编写一些代码,以逗号分隔数据框列中的字符串(因此它变成一个列表)... 查看详情

根据列中的条件从数据框中选择值的最佳方法? [复制]

】根据列中的条件从数据框中选择值的最佳方法?[复制]【英文标题】:BestwaytoselectvaluesfromaDataframebasedoffofcriteriainacolumn?[duplicate]【发布时间】:2019-06-2119:37:10【问题描述】:所以我有一个包含FundID列的大数据框。本专栏中有许... 查看详情

像 Qlik 一样计算 pandas 数据框中的列中的唯一值?

】像Qlik一样计算pandas数据框中的列中的唯一值?【英文标题】:CountinguniquevaluesinacolumninpandasdataframelikeinQlik?【发布时间】:2018-01-2708:03:54【问题描述】:如果我有这样的表:df=pd.DataFrame(\'hID\':[101,102,103,101,102,104,105,101],\'dID\':[10,1... 查看详情

PySpark - 如何根据列中的两个值从数据框中过滤出连续的行块

】PySpark-如何根据列中的两个值从数据框中过滤出连续的行块【英文标题】:PySpark-Howtofilteraconsecutivechunkofrowsoutofadataframebasedontwovaluesinacolumn【发布时间】:2019-02-0112:51:59【问题描述】:我有一个数据框,我想使用pyspark根据某些... 查看详情

从 pyspark 数据框中的列中提取特定字符串

】从pyspark数据框中的列中提取特定字符串【英文标题】:Extractspecificstringfromacolumninpysparkdataframe【发布时间】:2021-12-2913:53:45【问题描述】:我有以下pyspark数据框。column_aname,age,pct_physics,country,classname,age,pct_chem,classpct_math,class我... 查看详情

从数据框中的列中采样唯一行而不进行替换

】从数据框中的列中采样唯一行而不进行替换【英文标题】:Sampleuniquerowsfromacolumninadataframewithoutreplacement【发布时间】:2019-07-2120:45:10【问题描述】:我有一个dataframe,其中第一列包含唯一行IDs,第二列包含行之间通常不唯一的... 查看详情

如何从包含文本的熊猫数据框中的列中提取年份(或日期时间)

】如何从包含文本的熊猫数据框中的列中提取年份(或日期时间)【英文标题】:Howtoextractyear(ordatetime)fromacolumninapandasdataframethatcontainstext【发布时间】:2019-04-1821:27:16【问题描述】:假设我有一个pandas数据框:IdBook1HarryPotter(1997... 查看详情

如果所有行的列中只有一个值,则折叠 Pandas 数据框中的行

】如果所有行的列中只有一个值,则折叠Pandas数据框中的行【英文标题】:CollapsingrowsinaPandasdataframeifallrowshaveonlyonevalueintheircolumns【发布时间】:2017-11-0307:36:58【问题描述】:我有关注DFcol1|col2|col3|col4|col5|col60-|15.0|-|-|-|-1-|-|-|-|-|U... 查看详情

是否有python代码可以从数据框中的列中转移和总计/计数数据

】是否有python代码可以从数据框中的列中转移和总计/计数数据【英文标题】:Isthereapythoncodetoshiftandtotal/countdatafromacolumninadataframe【发布时间】:2021-11-3006:18:12【问题描述】:原来的表格是这样的:|s/n|i.d|T1||------|-----|------||0|A|2||... 查看详情

将列中的值转换为现有数据框中的行名

...值转换为行名。是否可以在不导出数据框的情况下执行此操作,然后使用row.names=调用重新导入它?例如我想转换:>sampnamesVar.1Var.2Var.31A1502B2 查看详情

确定熊猫数据框中的列值何时更改

】确定熊猫数据框中的列值何时更改【英文标题】:Determiningwhenacolumnvaluechangesinpandasdataframe【发布时间】:2015-07-2315:12:09【问题描述】:我希望编写一个快速脚本,该脚本将运行一个包含两列的csv文件,并为我提供B列中的值从... 查看详情

如何从python中的pandas数据框中的列中提取关键字(字符串)

】如何从python中的pandas数据框中的列中提取关键字(字符串)【英文标题】:Howtoextractakeyword(string)fromacolumninpandasdataframeinpython【发布时间】:2019-06-2317:33:53【问题描述】:我有一个数据框df,它看起来像这样:idTypeagent_idcreated_at... 查看详情

在表的其他列中的值相同的列的两个值之间进行选择

】在表的其他列中的值相同的列的两个值之间进行选择【英文标题】:Choosebetweentwovaluesofacolumnwherethevaluesinothercolumnsofthetablearesame【发布时间】:2020-01-2410:51:31【问题描述】:我有一张如下表:Case_ID111有两条记录。如何编写查询... 查看详情

从数据框中删除不包括一组列的列中的nan行。(代码片段)

我知道函数DataFrame.dropna(subset),其中subset参数可以用来只从给定的列集中删除nan行。我想要的是从不包括一组列的列中删除nan行。在pandas中有没有办法做到这一点?答案使用Index.difference含有排除列的列表。df=df.dropna(subset=df.column... 查看详情

从组合框中的访问数据库重复

】从组合框中的访问数据库重复【英文标题】:Repeatedfromaccessdatabaseincombobox【发布时间】:2016-05-1817:16:25【问题描述】:大家好,这是我的第一篇文章,如果我犯了任何错误,我深表歉意。我在我的代码中遇到了一个问题,其中... 查看详情

Spark基于其他数据框中的列对数据框中的列进行重复数据删除

】Spark基于其他数据框中的列对数据框中的列进行重复数据删除【英文标题】:SparkDeduplicatecolumnindataframebasedoncolumninotherdataframe【发布时间】:2016-06-0617:50:59【问题描述】:我正在尝试根据另一个数据框列中的值对Spark数据框列中... 查看详情

什么函数允许我根据r中列中的值从数据框中的列中提取数据?(代码片段)

我正在尝试根据列中的值从特定列中提取数据。例如:foobarx13x26y52x43y76x.values<-some.function(foobar=data.frame,key.value=keyvaluetosortby)y.values<-some.function(foobar=data.frame,key.value=keyvaluetosortby)x.values>>>(13,26,43)y.values>>>(53,76)答案... 查看详情

从数据框中的所有列中获取值的最简单方法是啥[重复]

】从数据框中的所有列中获取值的最简单方法是啥[重复]【英文标题】:whatiseasiestwaytogetvaluesfromallcolumnsindataframe[duplicate]从数据框中的所有列中获取值的最简单方法是什么[重复]【发布时间】:2020-11-2620:17:00【问题描述】:我在... 查看详情