如何使用Pandas的apply()来代替

如何使用Pandas的apply()来代替

在这篇文章中,我们将看到如何在Python中使用Pandas apply() inplace。

在Python中,这个函数等同于map()函数。它接受一个函数作为输入,并将其应用于整个 DataFrame。如果你处理的是表格形式的数据,你需要选择你的函数应该作用于哪个轴(0代表列;1代表行)。

pandas apply()方法是否有一个inplace参数

不,apply()方法不包含inplace参数,不像这些pandas方法有一个inplace参数。

  • df.drop()
  • df.rename( inplace=True)
  • fillna()
  • dropna()
  • sort_values()
  • reset_index()
  • sort_index()
  • rename()

实际上,inplace参数是什么意思

当inplace = True时,数据被就地编辑,这意味着它将不返回任何东西,数据框将被更新。当inplace = False时,也就是默认情况下,操作被执行,并返回对象的副本。

例1:单列的apply()就地取材

在下面的代码中,我们首先导入了pandas包,并使用pd.read_csv()导入了我们的CSV文件。导入后,我们在数据框的’experience’列上使用apply函数,我们将该列的字符串转换成大写字母。

使用的CSV文件:

如何使用Pandas的apply()来代替?

# code
import pandas as pd
  
# importing our dataset
df = pd.read_csv('hiring.csv')
# viewing the dataFrame
print(df)
  
# we change the case of all the strings
# in experience column to uppercase
df['experience'] = df['experience'].apply(str.upper)
  
# viewing the modified column
print(df['experience'])

输出:

如何使用Pandas的apply()来代替?

0      FIVE
1       TWO
2     SEVEN
3     THREE
4    ELEVEN
Name: experience, dtype: object

例2:多列的apply()就地取材

在这个例子中,我们在多个列上使用apply()方法。我们将列的数据类型从float改为int。使用的CSV文件点击这里。

import pandas as pd
import numpy as np
  
# importing our dataset
data = pd.read_csv('cluster_blobs.csv')
  
# viewing the dataFrame
print(df)
  
# we convert the datatype of columns from float to int.
data[['X1', 'X2']] = data[['X1', 'X2']].apply(np.int64)
  
# viewing the modified column
print(data[['X1', 'X2']])

输出:

如何使用Pandas的apply()来代替?

例3:适用于所有栏目的apply() inplace

在这个例子中,我们使用与之前相同的CSV文件。在这里,我们对整个数据框使用apply()方法。我们将列的数据类型从float改为int。

import pandas as pd
import numpy as np
  
# importing our dataset
data = pd.read_csv('cluster_blobs.csv')
  
# viewing the dataFrame
print(data)
  
# we convert the datatype of
# columns from float to int.
data = data.apply(np.int64)
  
# viewing the modified column
print(data)

输出:

如何使用Pandas的apply()来代替?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程