我正在使用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)
我如何进行这项工作?我需要使用字典吗?
答案 0 :(得分:1)
Wrt “创建现有定量列的平方版本” ,假设您删除了所有个非数字列,则可以执行以下操作:
features_df = features_df.apply(np.square)
# or just
features_df = features_df ** 2
如果您未删除所有非数字列,并且您的hitters_df
还包括带有文本数据的列(即dtype为object
),则循环遍历这些列同时跳过错误或检查其是否为有效类型。或者更好的是,遍历only the numeric columns:
for column in features_df.select_dtypes(include='number').columns:
features_df[column] = features_df[column] ** 2