在特定列规范化 Pandas DataFrame
Posted
技术标签:
【中文标题】在特定列规范化 Pandas DataFrame【英文标题】:Normalize Pandas DataFrame at specific columns 【发布时间】:2019-03-15 19:18:55 【问题描述】:我有一个具有以下结构的 Pandas DataFrame。
Feature 1 | Feature 2 | Feature 3
10 | 200 | True
30 | 233 | False
45 | 344 | True
知道如何仅对 feature 1 和 feature 2 进行规范化吗?不改变原始DataFrame的索引。
我已经尝试过以下代码,但它会将所有列标准化并将数据帧的索引更改为 0,1,2
x = df.values
min_max_scaler = preprocessing.MinMaxScaler()
x_scaled = min_max_scaler.fit_transform(x)
dataset = pd.DataFrame(x_scaled)
【问题讨论】:
【参考方案1】:只需创建数据框的视图:
x = df[['Feature 1', 'Feature 2']]
min_max_scaler = preprocessing.MinMaxScaler()
x_scaled = min_max_scaler.fit_transform(x)
dataset = pd.DataFrame(x_scaled)
dataset['Feature 3'] = df['Feature 3']
【讨论】:
它的工作,但我也必须在新数据集中包含“特征 3”(没有规范化)。 检查更新(注意您的示例数据没有索引,所以它应该可以工作)以上是关于在特定列规范化 Pandas DataFrame的主要内容,如果未能解决你的问题,请参考以下文章
pandas DataFrame:规范化一个 JSON 列并与其他列合并
pandas删除dataframe列名称中包含特定字符串的数据列(dropping columns contains specifiec substring in dataframe)
pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )
使用 JSON 对象展开 Pandas DataFrame 列
pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )