繁体   English   中英

循环将创建新的Pandas.DataFrame列

[英]Loop that will create new Pandas.DataFrame column

按照此处scikit-learn教程进行操作后 ,如果我们有一个Pandas.DataFrame包含一个名为colors的列,那么我们如何创建一个循环以遍历DataFrame的所有列(或包含所需列的列表),以便所有分类变量(例如,可以具有blueredpurple值的可变colors )将替换为len(colors)个虚拟变量列colors#bluecolors#redcolors#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM