如何从DataFrame中选取两行不同数据生成新的DataFrame?
从DataFrame选取指定多行生成新DataFrame的最简方法
你之前的代码之所以只保留一行,是因为第二次赋值直接覆盖了第一次的结果,相当于把第一次筛选出的数据丢弃了,只留下最后一次筛选的内容。
最简的实现方法有两种:
方法一:使用
isin(推荐,适配多值筛选场景)
直接传入目标CustomerID的列表,一次筛选出所有符合条件的行:toy_df = tx_df[tx_df['CustomerID'].isin([14566, 17844])]也可以结合
loc使用(效果完全一致):toy_df = tx_df.loc[tx_df['CustomerID'].isin([14566, 17844])]方法二:使用逻辑或运算符
|
把两个筛选条件用|连接,注意每个条件要单独加括号:toy_df = tx_df[(tx_df['CustomerID'] == 14566) | (tx_df['CustomerID'] == 17844)]
两种方法都能得到包含指定两行(或多行)的新DataFrame,其中isin的写法更简洁,尤其是当需要筛选的ID数量较多时优势更明显。
内容的提问来源于stack exchange,提问作者Ramsey A.
相关产品推荐
相关产品推荐

