[英]Pandas.DataFrame - create a new column, based on whether value in another column has occur-ed or not
[英]Loop that will create new Pandas.DataFrame column
按照此处的scikit-learn教程进行操作后 ,如果我们有一个Pandas.DataFrame
包含一个名为colors
的列,那么我们如何创建一个循环以遍历DataFrame的所有列(或包含所需列的列表),以便所有分类变量(例如,可以具有blue
, red
, purple
值的可变colors
)将替换为len(colors)
个虚拟变量列colors#blue
, colors#red
, colors#purple
?
刚学过python,所以我将用一些伪代码编写我的想法。
尝试(伪代码)
cols_to_process = ['colors']
# Create new columns for dummy variables
// if listings.keyname in cols_to_process:
// unique_values = list of unique values in listings[col]
// listings = listings.join(unique_values, axis=1)
# Populate dummy variable columns
# Remove old columns that have dummy variable columns created
您可以使用pandas.get_dummies
函数执行此操作:
>>> import pandas as pd
>>> pd.get_dummies(listings['color'], 'color')
因此,如果我了解您有一列具有一堆颜色的值,并且想要将这些值全部更改为该列的长度? 这样可以做到:
df['column_name'] = len(df['column_name'])
如果那不是您想要的,请使您的问题更清楚
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.