2017-11-24 3 views
1

こんにちは、データフレームの列に特定の値を割り当てようとしています。以下のようにデータフレームのPandasの特定の列に値を割り当てることができません

# Count the number of title counts 
full.groupby(['Sex', 'Title']).Title.count() 
Sex  Title   
female Dona    1 
     Dr    1 
     Lady    1 
     Miss   260 
     Mlle    2 
     Mme    1 
     Mrs    197 
     Ms    2 
     the Countess  1 
male  Capt    1 
     Col    4 
     Don    1 
     Dr    7 
     Jonkheer   1 
     Major    2 
     Master   61 
     Mr    757 
     Rev    8 
     Sir    1 
Name: Title, dtype: int64 

私の尾が見えます:

Age Cabin Embarked Fare Name Parch PassengerId Pclass Sex SibSp Survived Ticket Title 
413 NaN NaN S 8.0500 Spector, Mr. Woolf 0 1305 3 male 0 NaN A.5. 3236 Mr 
414 39.0 C105 C 108.9000 Oliva y Ocana, Dona. Fermina 0 1306 1 female 0 NaN PC 17758 Dona 
415 38.5 NaN S 7.2500 Saether, Mr. Simon Sivertsen 0 1307 3 male 0 NaN SOTON/O.Q. 3101262 Mr 
416 NaN NaN S 8.0500 Ware, Mr. Frederick 0 1308 3 male 0 NaN 359309 Mr 
417 NaN NaN C 22.3583 Peter, Master. Michael J 1 1309 3 male 1 NaN 2668 Master 

私のデータフレームの名前はfullであると私はタイトルの名前を変更したいです。ここで

は私が書いた次のコードです:

full.loc[full['Title'] == "Mlle", ['Sex', 'Title']] = "Miss" 

はまだデータフレームが変更されていません。

# Create a variable rate_title to modify the names of Title 
rare_title = ['Dona', "Lady", "the Countess", "Capt", "Col", "Don", "Dr", "Major", "Rev", "Sir", "Jonkheer"] 
# Also reassign mlle, ms, and mme accordingly 
full[full.Title == "Mlle"].Title = "Miss" 
full[full.Title == "Ms"].Title = "Miss" 
full[full.Title == "Mme"].Title = "Mrs" 
full[full.Title.isin(rare_title)].Title = "Rare Title" 

私もパンダに次のコードを試してみました。どんな助けもありがとうございます。

+0

可能重複https://stackoverflow.com/questions/36909977/update-特定の条件が成立している行の値) –

+1

@JesseBarnettもう一度重複して見つけられますか?その答えは混乱であり、実際にこの質問に対処していません。 –

答えて

2

使用locベースのインデックスと設定し、一致する行の値 -

miss = ['Mlle', 'Ms', 'Mme'] 
rare_title = ['Dona', "Lady", ...] 

df.loc[df.Title.isin(miss), 'Title'] = 'Miss' 
df.loc[df.Title.isin(rare_title), 'Title'] = 'Rare Title' 
[特定の条件がパンダで満たされている更新行の値(の
+0

coldspeedありがとうございました。私はあなたの解決策をチェックし、少しでもあなたに戻ってきます –

+0

私はあなたのコードを適用し、データフレームの頭と尾をチェックし、タイトルが変更されていないようです。 –

+0

@JaneshDevkotaなぜ私はいくつかのアイデアを持っています。データをどのようにロードしましたか?彼らの多くには空白文字が先行しているようです。 –

関連する問題