これはstackoverflowに関する私の最初の質問です!しばらくお待ちください :)
DataFrameのいくつかの行にテキストを追加したいと思います。元のデータフレームは次のようになります。
In [1]: import pandas as pd
In [2]: df = pd.DataFrame({'Name and rooms' : ['Excalibur: 1 room','John: 2 rooms','1 room','Lucas: 5 rooms','4 rooms','Jeremy: 1 room']})
In [3]: df
Out[3]:
Name and rooms
0 Excalibur: 1 room
1 John: 2 rooms
2 1 room
3 Lucas: 5 rooms
4 4 rooms
5 Jeremy: 1 room
ご覧のとおり、名前が欠落している行がいくつかあります。名前が存在しない行(この例では、行2と4)に、固定文字列( "Whatever:"など)を追加したいと思います。最終的なデータセットは次のようになります。
In [11]: df
Out[11]:
Name and rooms
0 Excalibur: 1 room
1 John: 2 rooms
2 Whatever: 1 room
3 Lucas: 5 rooms
4 Whatever: 4 rooms
5 Jeremy: 1 room
私はpandas / pythonを初めて使用するので、助けていただければ幸いです。
ありがとう!
ベクトル化されたstr
メソッドcontains
を使用してブールマスクを作成し、否定演算子を使用して、~
これをに渡しloc
、文字列の前に現在の値を追加します。
In [83]:
df.loc[~df['Name and rooms'].str.contains(':'),'Name and rooms'] = 'Whatever: ' + df['Name and rooms']
df
Out[83]:
Name and rooms
0 Excalibur: 1 room
1 John: 2 rooms
2 Whatever: 1 room
3 Lucas: 5 rooms
4 Whatever: 4 rooms
5 Jeremy: 1 room
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加