我有一個 Pandas DataFrame,它的列由一個串列組成。例如:
df = pd.DataFrame({'col1': [['a'], ['b'], ['a'], ['b']]})
df
col1
0 [a]
1 [b]
2 [a]
3 [b]
我想選擇那些 ['a'] 行,但如果我運行此代碼:
df['col1'] == ['a']
我收到一個錯誤:
ValueError: ('Lengths must match to compare', (4,), (1,))
(與代碼相同df[df['col1'] == ['a']])
我應該使用什么適當的代碼來實作這一目標?
uj5u.com熱心網友回復:
嘗試以下
df[df['col1'].str[0]=='a']
uj5u.com熱心網友回復:
利用:
df = df[df['col1'].apply(lambda x: x == ['a'])]
print (df)
col1
0 [a]
2 [a]
uj5u.com熱心網友回復:
您還可以轉換為字串:
out = df[df['col1'].astype(str) == "['a']"]
輸出:
col1
0 [a]
2 [a]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398837.html
