我有一個熊貓資料框,其中某些列包含空方括號,如下所示
代碼
data = pd.DataFrame(dict(A=[5,3,5,6], C=[['man','talk'],['bar'],[],['bat','cat','mat']]))
資料框
A C
0 5 [man, talk]
1 3 [bar]
2 5 []
3 6 [bat, cat, mat]
我需要洗掉包含空方括號的行
所需資料框
A C
0 5 [man, talk]
1 3 [bar]
2 6 [bat, cat, mat]
我試過data = data[data["C"].str.contains("[]") == False]了,但這給了我錯誤error: unterminated character set at position 0。如何從資料框中洗掉所有這些行。提前致謝
uj5u.com熱心網友回復:
str.len當它大于 0 時,您可以使用布爾陣列檢查串列的長度和切片:
data[data['C'].str.len().gt(0)]
或者,轉換為布林值(這似乎是最快的方法):
data[data['C'].astype(bool)]
輸出:
A C
0 5 [man, talk]
1 3 [bar]
3 6 [bat, cat, mat]
uj5u.com熱心網友回復:
請 .str[index] 然后 dropna()
data[data['C'].str[0].notna()]
A C
0 5 [man, talk]
1 3 [bar]
3 6 [bat, cat, mat]
uj5u.com熱心網友回復:
你可以簡單地這樣做:
data[data['C'].map(lambda d: len(d)) > 0]
A C
0 5 [man, talk]
1 3 [bar]
3 6 [bat, cat, mat]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/425818.html
