Python pandasデータフレーム:配列列で、最初のアイテムに特定の文字列が含まれている場合は、そのアイテムを配列から削除します

ニキータグプタ

さまざまなサイズの配列を含む以下のような列を持つデータフレームがあります。

column
["a_id","b","c","d"]
["d_ID","e","f"]
["h","i","j","k","l"]
["id_m","n","o","p"]
["ID_q","r","s"]

最初の項目に「ID」または「id」が含まれている場合、すべての行の配列から最初の項目を削除したいと思います。したがって、期待される出力は次のようになります。

column
["b","c","d"]
["e","f"]
["h","i","j","k","l"]
["n","o","p"]
["r","s"]

データフレーム内の配列要素を含む列でこれを確認するにはどうすればよいですか?

イズレエル

使用しstr[0]、リスト内の選択最初の値のために、次にチェックIDによってcontains

m = df['column'].str[0].str.contains('ID', case=False)
print (m)
0     True
1     True
2    False
3     True
4     True
Name: column, dtype: bool

そして、それを次のように削除maskstr[1:]ます。

df['column'] = df['column'].mask(m, df['column'].str[1:])
print (df)
            column
0        [b, c, d]
1           [e, f]
2  [h, i, j, k, l]
3        [n, o, p]
4           [r, s]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ