gpt4 book ai didi

python - 无法为 Pandas 中的某些列赋值

转载 作者:行者123 更新时间:2023-12-01 02:25:26 25 4
gpt4 key购买 nike

您好,我正在尝试在数据帧的列中分配某些值。

# 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,我想更改标题的名称。

这是我编写的以下代码:

# 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"

我还在 pandas 中尝试了以下代码:

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

数据框仍然没有改变。任何帮助表示赞赏。

最佳答案

使用基于 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'

关于python - 无法为 Pandas 中的某些列赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com