python - Pandas - 将选定的列分配回原始数据框
问题描述
这些是我的数据框的数据类型:
Out[172]:
price float64
host_response_rate float64
host_acceptance_rate float64
host_is_superhost object
host_listings_count float64
zipcode object
property_type object
room_type object
accommodates int64
bathrooms float64
bedrooms float64
beds float64
bed_type object
amenities object
number_of_reviews int64
review_scores_rating float64
cancellation_policy object
reviews_per_month float64
city object
dtype: object
我想缩放所有数值,我使用以下代码:
pd.DataFrame(scaler.fit_transform(df.select_dtypes("float64").to_numpy()), columns = df.select_dtypes("float64").columns)
我很难找出如何以动态方式将正确的列分配给原始列。我试过了,但它不起作用,因为我调用了一个函数:
df.select_dtypes("float64") = pd.DataFrame(scaler.fit_transform(df.select_dtypes("float64").to_numpy()), columns = df.select_dtypes("float64").columns)
如何将每一列分配回其原始数据框?
解决方案
这对我有用:
df.loc[:,df.dtypes=='float64'] = scaler.fit_transform(df.select_dtypes('float64'))
或者
df.loc[:,df.dtypes=='float64'] = scaler.fit_transform(df.loc[:,df.dtypes=='float64'])
推荐阅读
- symfony - Symfony 没有检测到 intl 扩展(在 XAMPP 上运行)
- django - NoReverseMatch 在 /post/31/
- javascript - 将对象放入嵌套对象
- angular - Angular Jest Spectator - 焦点功能不起作用
- ios - IPA 中的存储资产在哪里
- matlab - 适合对象的内圆 - Matlab
- r - 从距离对象转换的矩阵,子集行为不同于正常矩阵
- datetime - FFmpeg strftime 微秒
- reactjs - React Firestore如何在将文档发布到firestore时创建一个唯一的url
- python-3.x - 打印作业出现问题