さまざまなサイズの配列を含む以下のような列を持つデータフレームがあります。
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
そして、それを次のように削除mask
しstr[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]
コメントを追加