Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用for循环创建现有列的平方版本?_Python_Pandas_Loops - Fatal编程技术网

Python 如何使用for循环创建现有列的平方版本?

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)

我正在使用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)
我该怎么做?我需要使用字典吗?

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