gpt4 book ai didi

python - 用其他数据框的值有效地替换 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 12:30:21 26 4
gpt4 key购买 nike

下面有3组dataframe代码:

dataset = {
'X1': [18, 70, 70, 65, 18],
'X2': [1, 2, 2, 2, 1],
'X3': [45, 55, 22, 31, 23],
'X4': [1, 2, 1, 1, 2],
'X5': [65, 80, 500, 200, 100]}

df = pd.DataFrame(dataset)


dataset1 = {
'Variable': ['X1', 'X2', 'X3', 'X4', 'X5'],
'Label': ['Age', 'Sex', 'Ethnicity', 'Education', 'Income']}

df_labels = pd.DataFrame(dataset1)


dataset2 = {
'Variable': ['X1', 'X1', 'X1', 'X4', 'X4', 'X2', 'X2', 'X5', 'X5'],
'Code': [18, 70, 65, 1, 2, 1, 2, 65, 80],
'Value': ['18-24', '70-90', '65-80', 'Degree', 'Masters', 'Male', 'Female', '65K', '80K'] }

df_values = pd.DataFrame(dataset2)

df

enter image description here

df_labels

enter image description here

df_values

enter image description here

我使用 df_values 表编写了以下代码来替换 df 数据框中的值。

df["X1"].replace({18: "18-24", 70: "70-90", 65: "65-80"}, inplace=True)
df["X2"].replace({1: "Male", 2: "Female"}, inplace=True)
df["X4"].replace({1: "Degree", 2: "Masters"}, inplace=True)
df["X5"].replace({65: "65K", 80: "80K"}, inplace=True)

这导致了这个数据框:

enter image description here

这个替换很简单,因为几个变量只有 4 组替换。但是,数据集包含近 100 个变量。是否有更简单的方法来使用 df_values 表替换所有值(对于所有 100 个变量)?

最佳答案

让我们试试replace在旋转替换数据框之后

df.replace(df_values.pivot(*df_values).T)

      X1      X2  X3       X4   X5
0 18-24 Male 45 Degree 65K
1 70-90 Female 55 Masters 80K
2 70-90 Female 22 Degree 500
3 65-80 Female 31 Degree 200
4 18-24 Male 23 Masters 100

关于python - 用其他数据框的值有效地替换 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69540571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com