Python 如何使用for循环创建现有列的平方版本?
我正在使用Hitters.csv数据集,并尝试使用for循环创建现有定量列的平方版本。我在Hitters.csv中创建了所有定量列的数据集:Python 如何使用for循环创建现有列的平方版本?,python,pandas,loops,Python,Pandas,Loops,我正在使用Hitters.csv数据集,并尝试使用for循环创建现有定量列的平方版本。我在Hitters.csv中创建了所有定量列的数据集: features_df = hitters_df.drop(['Salary', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks'], axis=1) 我是Python的初学者,对循环缺乏经验。以下是我迄今为止所做的: for i in features_df: print (i**2)
features_df = hitters_df.drop(['Salary', 'CAtBat', 'CHits', 'CHmRun', 'CRBI', 'CRuns', 'CWalks'], axis=1)
我是Python的初学者,对循环缺乏经验。以下是我迄今为止所做的:
for i in features_df:
print (i**2)
我该怎么做?我需要使用字典吗?Wrt“创建现有定量列的平方版本”,假设您删除了所有非数字列,您可以执行以下操作:
features_df = features_df.apply(np.square)
# or just
features_df = features_df ** 2
如果您没有删除所有非数字列,并且您的hitters\u df
还包括包含文本数据的列(即数据类型为object
),则在跳过错误或检查其是否为有效类型的同时循环这些列。或者更好的是,循环:
欢迎来到SO。关于您的数据源和数据帧,例如功能\u df.head()
。
for column in features_df.select_dtypes(include='number').columns:
features_df[column] = features_df[column] ** 2