python - 如何规范化 Pandas 数据框中一系列列中的数据

标签 python pandas

假设我有一个 pandas 数据框 surveyData:

我想通过执行以下操作来规范化每列中的数据:

surveyData_norm = (surveyData - surveyData.mean()) / (surveyData.max() - surveyData.min())

如果我的数据表只包含我想要规范化的列,这会很好地工作。但是,我有一些包含字符串数据的列,例如:

Name  State  Gender  Age  Income  Height
Sam   CA     M        13   10000    70
Bob   AZ     M        21   25000    55
Tom   FL     M        30   100000   45

我只想规范化年龄、收入和高度列,但由于名称状态和性别列中的字符串数据,我的上述方法不起作用。

最佳答案

您可以通过多种方式对 pandas 中的行或列的子集执行操作。一种有用的方法是索引:

# Assuming same lines from your example
cols_to_norm = ['Age','Height']
survey_data[cols_to_norm] = survey_data[cols_to_norm].apply(lambda x: (x - x.min()) / (x.max() - x.min()))

这将仅将其应用于您需要的列并将结果分配回这些列。或者,您可以将它们设置为新的规范化列,并根据需要保留原始列。

关于python - 如何规范化 Pandas 数据框中一系列列中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28576540/

相关文章:

python - 根据月份绘制 pandas DataFrame

Python 分文

c# - C# 和 Python 之间有哪些核心概念差异?

python - 如何遍历 df 的每一行/列以查看是否存在 0 或 ' '?

python - pandas value_counts : sort by value, 然后按字母顺序排列?

python - 为什么我创建的函数出现 TypeError : f() takes 0 positional arguments but 1 was given

python - 根据命令行参数调用 python 函数

python - 使用 pickle 保存修改后的列表时出现问题

python - 有没有办法迭代多个数据帧,将它们写入带有格式的多个 Excel 工作表?

python - 如果某些行的列中的值丢失,如何应用 TextBlob?