Как я могу обновить столбцы dataframe после преобразования? - PullRequest
1 голос
/ 08 мая 2019

У меня есть следующий фрейм данных

      age  sex   cp 
0    63.0  1.0  1.0
1    67.0  1.0  4.0
2    41.0  0.0  2.0

И я применил процесс преобразования к каждому столбцу следующим образом:

age = store_data['age']
age_bins = [0, 40, 60, 100]
age_categories = pd.cut(age, age_bins)

sex = store_data['sex']
sex_series = pd.Series(sex, dtype = "category")
sex_rename = sex_series.cat.rename_categories(['F','M'])


cp = store_data['cp']
cp_series = pd.Series(cp, dtype = "category")
cp_rename = cp_series.cat.rename_categories(["typical","atypical","non-anginal","asymptomatic"])

Вывод каждого выглядит следующим образом:

>>age_categories
0      (60, 100]
1      (60, 100]
2       (40, 60]

>>sex_rename
0      M
1      M
4      F

>>cp_rename
0           typical
1      asymptomatic
2          atypical

Как я могу обновить исходные столбцы новыми преобразованными значениями: age_categories, sex_rename, cp_rename?Я хотел бы сохранить старые имена (возраст, пол, cp) в качестве головы

Ответы [ 2 ]

2 голосов
/ 08 мая 2019

Попробуйте удалить лишние переменные? Я не запускал это, так как нет данных, но это должно напрямую обновить ваш фрейм данных.

age_bins = [0, 40, 60, 100]
store_data['age'] = pd.cut(store_data['age'], age_bins)

__

store_data['sex'] = pd.Series(store_data['sex'], dtype = "category").cat.rename_categories(['F','M'])

__

store_data['cp'] = pd.Series(store_data['cp'], dtype = "category").cat.rename_categories(["typical","atypical","non-anginal","asymptomatic"])
1 голос
/ 08 мая 2019

Я попробовал так:

age = store_data["age"]
age_bins = [0, 40, 60, 100]
age_categories = pd.cut(age, age_bins)

sex = store_data['sex']
sex_series = pd.Series(sex, dtype = "category")
sex_rename = sex_series.cat.rename_categories(['F','M'])


cp = store_data['cp']
cp_series = pd.Series(cp, dtype = "category")
cp_rename = cp_series.cat.rename_categories(["typical","atypical","non-anginal"])

print(age_categories)
print(sex_rename)
print(cp_rename)

store_data['age']=age_categories
store_data['sex']=sex_rename
store_data['cp']=cp_rename

print(store_data)

         age sex           cp
0  (60, 100]   M      typical
1  (60, 100]   M  non-anginal
2   (40, 60]   F     atypical
...