九道门丨Pandas的18个重要函数,你会用哪些?(下)
上期回顾:九道门丨pandas的18个重要函数,你会用哪些?(上)。接着上次,我们今天继续来分享Pandas的18个重要函数(下),感兴趣的同学赶紧拿出小本本记下来吧。
数据分析优质社群,等你加入哦~
10)df.astype( ):
当你想把一个特定的列数据类型转换为另一种数据类型,DataFrame.astype() 函数就能派上用场。
语法:
DataFrame.astype(dtype, copy=True, errors='raise')
参数:
dtype:将整个 pandas 对象转换为同一类型。numpy.dtype{col: dtype, …}numpy.dtypecopy:默认为 True。在以下情况返回副本 copy=Truecopy=False。Errors:默认为“raise”。控制对提供的 dtype 的无效数据引发异常。raise:允许引发异常ignore:禁止显示异常。出错时返回原始对象。例:
df = pd.read_csv("employees.csv")df
df.info()
#changing the dtype of columns 'Team' and 'Salary'-----------df = df.astype({"Team":'category', "Salary":'int64'})
11)pd.concat( ):
沿特定轴连接 pandas 对象,并沿其他轴连接可选的设置逻辑。还可以在连接轴上添加分层索引层,如果传递的轴编号上的标签相同(或重叠),则这可能很有用。
语法:
pandas.concat(objs, axis=0, join=’outer’, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
参数:
objs:序列或数据帧对象的序列或映射。axis:默认 0。连接轴:要连接的轴可以是下标为 0,列为 1。join:{' inner ', ' outer '},默认为' outer '。ignore_index:bool,默认为 False。keys:顺序,默认无。levels:序列列表,默认无。names:列表,默认无。verify_integrity:bool,默认为 False。sort:bool,默认为 False。例:
import pandas as pddf1 = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'Player': ["Adam","Bob","Cot","Derrick","Ethan"], 'rebounds': [11, 8, 10, 6, 6]})df2 = pd.DataFrame({'points': [15, 22, 75, 84, 29], 'Player': ["A","B" , "C", "D", "E"], 'rebounds': [18, 38, 90, 56, 36]})
连接 df1 和 df2:
# Concating both the dataframespd.concat([df1,df2])
连接后为数据帧分配键:
df_concat = pd.concat([df1, df2], keys=['Set1', 'Set2'])df_concat
两个集合的索引都是重复的。因此使用 ignore_index = True
df_concat = pd.concat([df1, df2],keys=['Set1','Set2'], ignore_index=True)df_concat
沿轴 axis=1:df2 添加第二个数据帧
df_concat = pd.concat([df1, df2], keys=['Set1', 'Set2'], axis=1)df_concat
组合具有重叠列的对象,并仅返回那些通过传递关键字参数来共享的对象:DataFrameinnerjoin。
import pandas as pddf1 = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'Player': ["Adam","Bob","Cot","Derrick","Ethan"], 'rebounds': [11, 8, 10, 6, 6]})df2 = pd.DataFrame({'points': [15, 22, 75, 84, 29], 'Player': ["A","B" , "C", "D", "E"], 'rebounds': [18, 38, 90, 56, 36], 'Overs':[25, 12, 15, 14, 19]})
df_concat = pd.concat([df1, df2], join = 'inner')df_concat
12)df.describe( ):
describe()函数用于生成描述性统计信息,包括汇总数据集分布的中心趋势、分散度和形状(不包括值)的统计数据。它分析数值和对象序列,以及混合数据类型的列集。输出取决于所提供的数据。
语法:
DataFrame.describe(percentiles=None, include=None, exclude=None)
参数:
percentile:列出介于 0–1 之间的列表式数据类型。include:描述数据帧时要包含的数据类型列表。exclude:描述数据帧时要排除的数据类型列表。例:
df2 = pd.DataFrame({'points': [15, 22, 75, 84, 29], 'Player': ["A","B" , "C", "D", "E"], 'rebounds': [18, 38, 90, 56, 36], 'Overs':[25, 12, 15, 14, 19]})df2.describe()
13) df.isnull().sum() :
在分析数据之前,删除缺失值、计算缺失值及其百分比非常重要。
df.isnull().sum() function is used to count the number of missing values in each column.
使用的数据: 沃尔玛销售预测 | 卡格尔
df = pd.read_csv('features.csv')df.isnull().sum()
14)pd.isna():
检测类似数组的对象的缺失值。此函数采用标量或类似数组的对象,并指示值是否丢失。
对于标量输入,返回标量布尔值。对于数组输入,返回一个布尔数组,指示是否缺少每个相应的元素。
df.isna()
返回存在空值和不空值的位置。
15)pd.to_datetime() :
将参数转换为日期时间。
s = pd.Series(['5/10/2022', '5/10/2022', '5/10/2022'] * 100)s
将序列的数据类型更改为 sobject datetime
pd.to_datetime(s)
16)df.isin() :
isin() 函数可以传递一个列表,以检查数据帧/序列中是否存在值列表。
例:
s = pd.Series(['5/10/2022', '5/11/2022', '5/12/2022'] * 100)lst = ['5/10/2022']s.isin(lst)
如果存在值且找不到值,则返回 True False
17)df.pivot() :
返回按给定索引/列值组织的重构数据帧。
语法:
DataFrame.pivot(index=None, columns=None, values=None)
例:
df2 = pd.DataFrame({'points': [15, 22, 75, 84, 29], 'team': ["A","B" , "C", "D", "E"], 'player':['Adam','Tom','Jerry','Harry','Jon']})df2
pivot_df2 = df2.pivot(index = 'player',columns = 'team', values ['points'])pivot_df2 = pivot_df2.fillna('-')pivot_df2
18) df.insert() :
将列插入到 DataFrame 的指定位置。
参数:
loc:dtype is,插入索引。必须验证 0 <= loc <= len(列)column:数字或可哈希(hashable)对象value:标量、系列或类似数组allow_duplicates:布尔值,可选默认 False语法 :
DataFrame.insert(loc, column, value, allow_duplicates=False)
例 :
df.insert(2,'age',[45,34,23,34,56,55,45,30,33])df
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。