![](/img/trans.png)
[英]Select rows from a DataFrame based on True or False in a column in pandas
[英]Pandas - Select rows from a dataframe based on list in a column
這個線程Select rows from a DataFrame based on values in a column in pandas顯示了如果該列包含標量,您如何可以 select 行。 如果我的專欄包含不同長度的列表,我該怎么做?
為簡單起見,假設列表中的值相似。
label
0 [1]
1 [1]
2 [1]
3 [1]
4 [1]
5 [1]
6 [1]
7 [1]
8 [1]
9 [1]
10 [1]
11 [1]
12 [1]
13 [1]
14 [1]
15 [1]
16 [0,0,0]
17 [1]
18 [1]
19 [1]
20 [1]
21 [1]
22 [1]
23 [1]
24 [1]
25 [1]
26 [1]
27 [1, 1]
28 [1, 1]
29 [0, 0]
我嘗試了以下不起作用。 我嘗試的是檢查列表的最后一個元素是否等同於標量。
df_pos = df[df["label"][-1] == 1]
使用tolist()[-1]
只返回最后一行。
df_pos = df[df["label"].tolist()[-1] == 1]
使用str
df_pos = df[df["label"].str[-1] == 1]
制作一個新專欄:
df['label2'] = df['label'].apply(lambda x: x[0])
然后對列label2執行操作
今天,我處理了一個類似的問題,我需要獲取包含我們要查找的值的行,但數據框的列值是列表格式。
這是我想出的解決方案。
fetched_rows = df.loc [ df['column_name'].map( lambda x: True if check_element in x else False) == True ]
其中 column_name ---> 我們需要查看的列名
check_element ---> 我們用來檢查它是否存在的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.