jupyter中批量改列值

我想要把“是否有家属”的列值变为独热编码,把yes变为1,no变为0
想要批量修改列值,求解——

img

转成独热编码和原来的DataFrame中的其他列合并

one_hot = pd.get_dummies(df['是否有家属'], prefix='是否有家属')
one_hot.replace({'yes': 1, 'no': 0}, inplace=True)
new_df = pd.concat([df.drop('是否有家属', axis=1), one_hot], axis=1)


要批量修改Jupyter Notebook中的列值,可以使用Jupyter Notebook提供的cell单元格和% cell指令。

首先,确保你已经将列值存储在Notebook的cell单元格中,可以通过使用% cell指令来获取当前单元格的值,然后将其替换为新的列值。

以下是示例代码,将“是否有家属”列的值为独热编码:

% cell "是否有家属"
  = float(input("请输入“是否有家属”列的值:"))
  if int(input("请输入确认值:")) == 1:
    cell.value = "1"
  elif int(input("请输入确认值:")) == 0:
    cell.value = "0"
% end

接下来,你可以使用% cell指令获取当前单元格的值,将其替换为新的列值,并重复此过程,批量修改其他单元格的值。

以下是修改其他列值的示例代码:

% cell "家庭成员"
  = float(input("请输入“家庭成员”列的值:"))
  if int(input("请输入确认值:")) == 1:
    cell.value = "1"
  elif int(input("请输入确认值:")) == 0:
    cell.value = "0"
% end

% cell "子女数量"
  = float(input("请输入“子女数量”列的值:"))
  if int(input("请输入确认值:")) == 1:
    cell.value = "1"
  elif int(input("请输入确认值:")) == 0:
    cell.value = "0"
% end

请注意,在修改其他列值时,你需要确保每个列的值都是唯一的,并且不会重复。此外,由于Jupyter Notebook的数据是存储在内存中的,因此批量修改列值时可能会影响性能。