首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Pandas返回每个个体记录中属性为1的列标签集合

一、前言 前几天在J哥的Python群【Z】问了一个Pandas数据处理的问题,一起来看看吧。 各位群友,打扰了。能否咨询个pandas的处理问题?...左边一列id代表个体/记录,右边是这些个体/记录属性的布尔值。我想做个处理,返回每个个体/记录中属性为1的列标签集合。...例如:AUS就是[DEV_f1,URB_f0,LIT_f1,IND_f1,STB_f0],不知您有什么好的办法? 并且附上了数据文件,下图是他的数据内容。...二、实现过程 这里【Jin】大佬给了一个答案,使用迭代的方法进行,如下图所示: 如此顺利地解决了粉丝的问题。...后来他粉丝自己的朋友也提供了一个更好的方法,如下所示: 方法还是很多的,不过还得是apply最为Pythonic! 三、总结 大家好,我是皮皮。

14530
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    合并excel的两列,为空的单元格被另一列有值的替换?

    一、前言 前几天在Python铂金交流群【逆光】问了一个Pandas数据处理的问题,问题如下:请问 合并excel的两列,为空的单元格被另一列有值的替换。...【逆光】:好的,我去看看这个函数谢谢 【逆光】:我列表的两列不挨着, a b互补,我需要变成c (c 包含 a 和 b) 【Siris】:最笨的方法遍历判断呗 【逆光】:太慢了,我的数据有点多。...【Siris】:你是说c列是a列和b列的内容拼接起来是么 【逆光】:是 【Siris】:那你其实可以直接在excel里用CONCAT函数。 【不上班能干啥!】:只在excel里操作,速度基本没啥改变。...我不写,就报这个错 【瑜亮老师】:有很多种写法,最简单的思路是分成3行代码。就是你要给哪一列全部赋值为相同的值,就写df['列名'] = '值'。不要加方括号,如果是数字,就不要加引号。...【瑜亮老师】:3列一起就是df.loc[:, ['列1', '列', '列3'']] = ["值", 0, 0] 【不上班能干啥!】:起始这行没有报错,只是警告,因为你这样操作会影响赋值前的变量。

    11910

    2025-01-17:构成整天的下标对数目Ⅰ。用go语言,给定一个整数数组 hours,其中每个元素表示以小时为单位的时间,要求

    2025-01-17:构成整天的下标对数目Ⅰ。...用go语言,给定一个整数数组 hours,其中每个元素表示以小时为单位的时间,要求返回一个整数,表示满足条件 i 为 24 的整数倍的下标对 (i,...大体步骤如下: 力扣上的官方题解用的是暴力法,并不是最优解。 1.首先,创建一个长度为 24 的数组 m,用于记录每个小时数模 24 的次数。...2.将第一个小时数小时数模 24 的出现次数加一,即 m[hours[0]%24]++。 3.初始化变量 ans 为 0,用于记录符合条件的下标对数目。...4.从数组的第二个元素开始遍历,对于每个小时数计算其小时数模 24 的值 hi。

    4910

    2023-04-16:给定一个长度为N的数组,值一定在0~N-1范围,且每个值不重复比如,arr =

    2023-04-16:给定一个长度为N的数组,值一定在0~N-1范围,且每个值不重复比如,arr = 4, 2, 0, 3, 10 1 2 3 4把0想象成洞,任何非0数字都可以来到这个洞里,然后在原本的位置留下洞比如...返回变成任何一种有序的情况都可以,最少的数字搬动次数。来自谷歌。...对于第二种有序情况,我们可以先倒序遍历数组,找出每个数需要移动的最小距离,从而计算出需要移动的次数。最后比较这两种情况下的最小搬动次数,返回较小值即可。...注意事项:需要记录每个数是否被遍历过,以防止重复计算。数字只能搬家到洞里,并且走后留下洞,因此在交换过程中需要记录其中一个数字所在的位置作为洞的位置。...这种样子,至少交换几次// ans2 : 1 2 3 4 .... 0 这种样子,至少交换几次// m : 每个环里有几个数// next : 往下跳的位置n := len(nums)ans1, ans2

    90200

    2022-09-25:给定一个二维数组matrix,数组中的每个元素代表一棵树的高度。 你可以选定连续的若干行组成防风带,防风带每一列的防风高度为这一列的最大值

    2022-09-25:给定一个二维数组matrix,数组中的每个元素代表一棵树的高度。...你可以选定连续的若干行组成防风带,防风带每一列的防风高度为这一列的最大值 防风带整体的防风高度为,所有列防风高度的最小值。...比如,假设选定如下三行 1 5 4 7 2 6 2 3 4 1、7、2的列,防风高度为7 5、2、3的列,防风高度为5 4、6、4的列,防风高度为6 防风带整体的防风高度为5,是7、5、6中的最小值 给定一个正数...k,k 的行数,表示可以取连续的k行,这k行一起防风。...求防风带整体的防风高度最大值。 答案2022-09-25: 窗口内最大值和最小值问题。 代码用rust编写。

    2.6K10

    2022-03-31:有一组 n 个人作为实验对象,从 0 到 n - 1 编号,其中每个人都有不同数目的钱, 以及不同程度的安静值(quietness) 为了

    2022-03-31:有一组 n 个人作为实验对象,从 0 到 n - 1 编号,其中每个人都有不同数目的钱, 以及不同程度的安静值(quietness) 为了方便起见,我们将编号为 x 的人简称为 "...给你一个数组 richer ,其中 richeri = ai, bi 表示 person ai 比 person bi 更有钱 另给你一个整数数组 quiet ,其中 quieti 是 person i 的安静值...作为答案,其中 answerx = y 的前提是: 在所有拥有的钱肯定不少于 person x 的人中,person y 是最安静的人(也就是安静值 quiety 最小的人)。...range richer { // [a,b] a -> b nexts[r[0]] = append(nexts[r[0]], r[1]) degree[r[1]]++ } // 所有入度为0...< N; i++ { ans[i] = i } for l < r { // 如果队列不空 // 弹出一个入度为0的点 cur := zeroQueue[l] l++ // 1)

    58810

    2023-04-16:给定一个长度为N的数组,值一定在0~N-1范围,且每个值不重复比如,arr = [4, 2, 0, 3,

    2023-04-16:给定一个长度为N的数组,值一定在0~N-1范围,且每个值不重复 比如,arr = [4, 2, 0, 3, 1] 0 1 2 3 4 把0想象成洞...对于第一种有序情况,我们可以模拟交换排序的过程,算出需要交换的次数,具体实现见函数sortArray()。 2....对于第二种有序情况,我们可以先倒序遍历数组,找出每个数需要移动的最小距离,从而计算出需要移动的次数。 3. 最后比较这两种情况下的最小搬动次数,返回较小值即可。 注意事项: 1....需要记录每个数是否被遍历过,以防止重复计算。 2. 数字只能搬家到洞里,并且走后留下洞,因此在交换过程中需要记录其中一个数字所在的位置作为洞的位置。...这种样子,至少交换几次 // ans2 : 1 2 3 4 .... 0 这种样子,至少交换几次 // m : 每个环里有几个数 // next : 往下跳的位置 n := len(nums

    30130

    转换程序的一些问题:设置为 OFF 时,不能为表 Test 中的标识列插入显式值。8cad0260

    可这次我是想在此基础上,能变成能转换任何论坛的,因此不想借助他自带的存储过程。...先前有一点很难做,因为一般的主键都是自动递增的,在自动递增的时候是不允许插入值的,这点让我一只很烦,今天有时间,特地建立了一个表来进行测试 字段名 备注 ID 设为主键 自动递增 Name 字符型...建立以后,我先随便输入了一些数据(当中输入的时候,ID是不允许输入的,但会自动递增) 随后我运行一条Sql语句: insert into [Test] (id,name) values (4,'asdf...'); 很明显,抛出一个Sql错误: 消息 544,级别 16,状态 1,第 1 行 当  设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。    ...PS1:今天公司上午网站出现问题,造成了很严重的后果,我很坚信我的同事不会犯connection.close()的错误,错误原因还没有查到,星期一准备接受全体惩罚 PS2:年会要到了,要我表演节目,晕死

    2.3K50

    MySQL学习9_DQL之聚合与分组

    :输出排序顺序 常见的聚合函数 AVG():平均值,自动忽略值为NULL的行 COUNT():行数 count(*):统计所有行,包含空行 count(column):对特定列column中具有值的行进行计数...,忽略空行 MAX(column):最大值,一般是用来找最大的数值或者日期 指定列名 自动忽略空行 用于文本数据返回的是排序后的最后一行 MIN():最小值 指定列名,自动忽略空行 文本数据:返回排列后的第一行...SUM():总和 可以用于合计计算 自动忽略空行 栗子 聚合函数使用的格式为 select AVG/MIN/MAX(字段名) as other_name from table_name -- as...Products group by vend_id; -- 指定分组的字段:对每个vend_id进行计算 规定: group by中可以包含任意数目的列,可以进行嵌套 group by子句中列出的每一列都是检索列或者有效的表达式...对行进行分组,输出可能不是分组的顺序 任意列均可使用 只可能使用选择列或者列表达式,而且必须使用每个选择列表达式 句中未必需要 如果有聚集函数,必须使用 select order_num, count

    1.7K10

    MySQL(五)汇总和分组数据

    ②获得表中行组的和 ③找出表列(或所有行或某些特定的行)的最大值、最小值和平均值 聚集函数(aggregate function):运行在行组上,计算和返回单个值的函数(MySQL还支持一些列的标准偏差聚集函数...max()用来返回任意列中的最大值,包括返回文本列的最大值;但用于文本数据时,如果数据按相应的列排序,则max()返回最后一行(max()函数忽略列值为null的行) 4、min()函数 min()返回指定列的最小值...; PS:MySQL允许min()用来返回任意列中的最小值,包括返回文本列的最小值;但用于文本数据时,如果数据按相应的列排序,则min()返回最前面的行(min()函数忽略列值为null的行) 5、sum...by子句指示指示MySQL分组数据,然后都每个组而不是整个结果集进行聚集;关于group by使用,请注意以下规则: ①group by子句可以包含任意数目的列(使得对分组进行嵌套,为数据分组提供更细致的控制...rollup关键字,可以得到每个分组以及每个分组汇总级别(针对每个分组)的值。

    4.7K20

    机器学习系列(八)K均值(kMeans)

    2) 计算每个数据样本到每个质心的距离,并划分到最近质心所在的类里。...3) 重新计算划分之后的每个类的质心 4) 重复迭代步骤(2)-(3),直到前后两次结果的质心相等或者距离小于给定阈值,结束聚类。 K均值的迭代过程如图,+为质心,经过3次迭代之后数据被分成三类。...2) 迭代选择其中的簇进行k=2的基本k均值算法,使得最大程度降低损失函数值。 3) 不断重复步骤(2),直到达到给定的簇数目为止。...minJ = min(dataSet[:,j]) # 获取数据集第j列的最小值 rangeJ = float(max(dataSet[:...,j]) - minJ) # 计算数据集第j列中,最大值减最小值的差 # 随机生成k行1列的数组,元素在0到1之间,乘以rangeJ再加上minJ,则可得随机生成的第j列中最小值与最大值之间的一个数

    1.3K20

    【机器学习实战】第10章 K-Means(K-均值)聚类算法

    然后将数据集中的每个点分配到一个簇中, 具体来讲, 就是为每个点找到距其最近的质心, 并将其分配该质心所对应的簇. 这一步完成之后, 每个簇的质心更新为该簇说有点的平均值....上述过程的 伪代码 如下: 创建 k 个点作为起始质心(通常是随机选择) 当任意一个点的簇分配结果发生改变时 对数据集中的每个数据点 对每个质心 计算质心与数据点之间的距离 将数据点分配到距其最近的簇...之后选择其中一个簇继续进行划分,选择哪一个簇进行划分取决于对其划分时候可以最大程度降低 SSE(平方和误差)的值。 上述基于 SSE 的划分过程不断重复,直到得到用户指定的簇数目为止。...二分 K-Means 聚类算法伪代码 将所有点看成一个簇 当簇数目小雨 k 时 对于每一个簇 计算总误差 在给定的簇上面进行 KMeans 聚类(k=2) 计算将该簇一分为二之后的总误差 选择使得误差最小的那个簇进行划分操作...另一种做法是选择 SSE 最大的簇进行划分,直到簇数目达到用户指定的数目位置。

    1.6K80

    我的Python分析成长之路9

    1.pandas数据结构     在pandas中,有两个常用的数据结构:Series和Dataframe  为大多数应用提供了一个有效、易用的基础。     ...1.数值型特征的描述性统计     数值型特征的描述性统计主要包括了计算数值型数据的完整情况、最小值、均值、中位数、最大值、四分位数、极差、标准差、方差、协方差和变异系数。     ...) #返回每个分组的大小 17 print(group.min()) #返回每个分组的最小值 18 print(group.std()) #返回每组的标准差 19 print(group.sum(...) #返回每个分组的大小 16 print(group.min()) #返回每个分组的最小值 17 print(group.std()) #返回每组的标准差 18 print(group.sum(...()) #返回每个分组的最小值 print(group.std()) #返回每组的标准差 print(group.sum()) #返回每组的和 print(group.quantile(0.9))

    2.1K11

    mysql 必知必会整理—数据汇总与分组

    找出表列(或所有行或某些特定的行)的最大值、最小值和平均值 如: AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和...下面介绍分组数据: 返回每个供应商提供的产品数目: select COUNT(*) as num_prods,vend_id from products GROUP BY vend_id 使用group...by 需要注意的地方: GROUP BY子句可以包含任意数目的列。...换句话说,在建立分组时,指定的所有列都一起计算(所以不能从个别的列取回数据) GROUP BY子句中列出的每个列都必须是检索列或有效的表达式(但不能是聚集函数)。...使用ROLLUP 使用WITH ROLLUP关键字,可以得到每个分组以 及每个分组汇总级别(针对每个分组)的值,如下所示: select COUNT(*) as num_prods,vend_id from

    1.6K30

    【转】XGBoost和LGB参数对比

    范围: (0,1],注意不可取0 colsample_bytree:系统默认值为1。我们一般设置成0.8左右。 用来控制每棵随机采样的列数的占比(每一列是一个特征)。...这个就相比于前一个更加细致了,它指的是每棵树每次节点分裂的时候列采样的比例 max_depth: 系统默认值为6 我们常用3-10之间的数字。这个值为树的最大深度。这个值是用来控制过拟合的。...目标函数做多分类,需要设置参数num_class(类别个数) multi:softprob – 如同softmax,但是输出结果为ndata*nclass的向量,其中的值是每个数据分为每个类的概率。...其值通过错误分类数目与全部分类数目比值得到。对于预测,预测值大于0.5被认为是正类,其它归为负类。...子节点所需的样本权重和(hessian)的最小阈值,若是基学习器切分后得到的叶节点中样本权重和低于该阈值则不会进一步切分,在线性模型中该值就对应每个节点的最小样本数,该值越大模型的学习约保守,同样用于防止模型过拟合

    1.4K30

    SQL必知必会总结2-第8到13章

    返回列的最小值 SUM() 返回某列值之和 1、AVG()函数 SELECT AVG(prod_price) AS avg_price -- 求平均值 FROM Products; 上面求解的是所有行各自的平均值...,但是如果COUNT()函数使用的是星号,则不会忽略 3、MAX()/MIN()函数 返回指定列中的最大值或者最小值 SELECT MAX(prod_price) AS MAX_price --...求最大值 SELECT MAX(prod_price) AS MIN_price -- 求最小值 FROM Products; 笔记:上面的两个最值函数会自动忽略掉值为NULL的行 4、SUM...,MIN(prod_price) AS min_price -- 求最小值 ,COUNT(*) AS num_items -- 物品的数目 FROM Products; 分组数据 分组使用的是两个子句...ORDER BY 和GROUP BY的差异: ORDER BY GROUP BY 对产生的输出排序 对行分组,但输出可能不是分组的顺序 任意列都可以使用(非选择的列也可以使用) 只可能使用选择列或者表达式列

    2.3K21

    09-10章 汇总分组数据第9章

    函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和 AVG()函数 AVG()通过对表中行数计数并计算其列值之和...为了获得多个列的平均值,必须使用多个AVG()函数。 AVG()函数忽略列值为 NULL 的行。...COUNT()函数 COUNT()函数进行计数,确定表中行的数目或符合特定条件的行的数目,有两种使用方式: 使用 COUNT(*) 对表中行的数目进行计数,不管表列中包含的是空值( NULL )还是非空值...屏幕快照 2018-05-31 06.09.48.png 提示:对非数值数据使用 MIN() MIN()用来找出最小的数值或日期值,但许多 DBMS 允许它用来返回任意列中的最小值,包括返回文本列中的最小值...SUM()函数 SUM()用来返回指定列值的和(总计) OrderItems 包含订单中实际的物品,每个物品有相应的数量。

    1.8K10

    2025-02-20:子数组按位与值为 K 的数目。用go语言,给定一个整数数组 nums 和一个整数 k,请计算满足条件的子数

    2025-02-20:子数组按位与值为 K 的数目。用go语言,给定一个整数数组 nums 和一个整数 k,请计算满足条件的子数组数量:这些子数组的所有元素经过按位与运算后的结果等于 k。...2.对于输入的数组 nums 中的每个元素,遍历其索引 i 和元素 x: 2.1.如果 x 与 k 的按位与结果小于 k,则更新 border 和 lastK 为当前索引 i,表示单独的元素满足条件。...2.3.如果 x 大于 k,则从 i-1 开始逆向遍历到上次遇到 k 的位置之间的元素: 2.3.1.计算 nums[j] 和 x 的按位与结果为 y。...2.3.4.否则,更新 nums[j] 为 y。 3.在每次迭代中,累加符合条件的子数组数量,即 lastK - border。 4.返回最终的 ans 作为结果。...总的时间复杂度:O(n),其中 n 为数组 nums 的长度。 总的额外空间复杂度:O(1),除了几个整型变量外,没有使用额外的空间。

    4510
    领券