簡體   English   中英

從 pd 數據框中選擇不同的值,其中一列是列表類型

[英]Select distinct values from pd dataframe where one of the column is list-type

我有一個表格,其中一列是列表類型。 我想從表中選擇不同的值:

pd.DataFrame(
        {
            "a": ["1", "2", "1"],
            "b": [['a', 'b'], ['c', 'd'], ['a', 'b']],
        }
    )

結果應僅包含上表中的前兩行。

我試過 pandas unique 和 drop_duplicates 但那些似乎不能處理列表類型的列。

您可以先將列表轉換為元組,然后再應用.drop_duplicates

df['b'] = df['b'].apply(tuple)
df = df.drop_duplicates()
print(df)

印刷:

   a       b
0  1  (a, b)
1  2  (c, d)

要將元組轉換回列表:

df['b'] = df['b'].apply(list)

讓我們試試:

dataframe = pd.DataFrame(
            {
                "a": ["1", "2", "1"],
                "b": [['a', 'b'], ['c', 'd'], ['a', 'b']],
            }
        )
    
result = dataframe.iloc[0:2,:]

print(result)

   a       b
0  1  [a, b]
1  2  [c, d]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM