Python Pandas-将选定列分配回原始数据帧
以下是我的数据帧的数据类型:Python Pandas-将选定列分配回原始数据帧,python,pandas,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
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'])