如何使用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文件:
# 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'])
输出:
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']])
输出:
例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)
输出: