首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

总结了67个pandas函数,完美解决数据处理,拿来即用!

(x) s.astype(float) # 将Series中的数据类型更改为float类型 s.replace(1,'one') # ⽤‘one’代替所有等于1的值 s.replace([1,3]...(index=col1,values=[col2,col3],aggfunc={col2:max,col3:[ma,min]}) # 创建⼀个按列col1进⾏分组,计算col2的最⼤值和col3的最⼤值...df1.append(df2) # 将df2中的⾏添加到df1的尾部 df.concat([df1,df2],axis=1,join='inner') # 将df2中的列添加到df1的尾部,值为空的对应...⾏与对应列都不要 df1.join(df2.set_index(col1),on=col1,how='inner') # 对df1的列和df2的列执⾏SQL形式的join,默认按照索引来进⾏合并,如果...df1和df2有共同字段时,会报错,可通过设置lsuffix,rsuffix来进⾏解决,如果需要按照共同列进⾏合并,就要⽤到set_index(col1) pd.merge(df1,df2,on='col1

3.5K30

pandas技巧4

,col3], aggfunc={col2:max,col3:[ma,min]}) # 创建一个按列col1进行分组,计算col2的最大值和col3的最大值、最小值的数据透视表 df.groupby(col1....transform("sum") # 通常与groupby连用,避免索引更改 数据合并 df1.append(df2) # 将df2中的行添加到df1的尾部 df.concat([df1, df2],...axis=1,join='inner') # 将df2中的列添加到df1的尾部,值为空的对应行与对应列都不要 df1.join(df2.set_index(col1),on=col1,how='inner...,就要用到set_index(col1) pd.merge(df1,df2,on='col1',how='outer') # 对df1和df2合并,按照col1,方式为outer pd.merge(df1...() #查看数据值列的汇总统计 df.mean() # 返回所有列的均值 df.corr() # 返回列与列之间的相关系数 df.count() # 返回每一列中的非空值的个数 df.max() # 返回每一列的最大值

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    图解pandas的assign函数

    Pandas文章 本文是Pandas文章连载系列的第21篇,主要分为3类: 基础部分:1-16篇,主要是介绍Pandas中基础和常用操作,比如数据创建、检索查询、排名排序、缺失值/重复值处理等常见的数据处理操作...进阶部分:第17篇开始讲解Pandas中的高级操作方法 对比SQL,学习Pandas:将SQL和Pandas的操作对比起来进行学习 参数 assign函数的参数只有一个:DataFrame.assign...col2 0 12 xiaoming 1 16 peter 2 18 mike 在Python3.6+中,我们可以在同一个赋值中创建多个列,并且其中一个列还可以依赖于同一个赋值中定义的另一列,也就是中间生成的新列可以直接使用...col2 0 12 xiaoming 1 16 peter 2 18 mike 如果我们重新分配的是一个现有的列,那么这个现有列的值将会被覆盖: df.assign(col1=df["col1"]...col2 0 12 xiaoming 1 16 peter 2 18 mike df1["col3"] = df1["col1"].apply(lambda x:x / 2 + 20) df1

    43520

    Pandas进阶修炼120题|当Pandas遇上NumPy

    :⭐⭐ 答案 df = pd.concat([df1,df2,df3],axis=0,ignore_index=True) 86 数据创建 题目:将df1,df2,df3按照列合并为新DataFrame...答案 df = pd.concat([df1,df2,df3],axis=1,ignore_index=True) df 87 数据查看 题目:查看df所有数据的最小值、25%分位数、中位数、75%分位数...df.columns = ['col1','col2','col3'] 89 数据提取 题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ 答案 df['col1'][~df['col1'].isin...().index[:3] 91 数据提取 题目:提取第一列中可以整除5的数字位置 难度:⭐⭐⭐ 答案 np.argwhere(df['col1'] % 5==0) 92 数据计算 题目:计算第一列数字前一个与后一个的差值...题目:提取第一列位置在1,10,15的数字 难度:⭐⭐ 答案 df['col1'].take([1,10,15]) 95 数据查找 题目:查找第一列的局部最大值位置 难度:⭐⭐⭐⭐ 备注 即比它前一个与后一个数字的都大的数字

    99220

    Pandas速查卡-Python数据科学

    df[(df[col] > 0.5) & (1.7)] 0.7> col> 0.5的行 df.sort_values(col1) 将col1按升序对值排序 df.sort_values(col2,ascending...=False) 将col2按降序对值排序 df.sort_values([col1,ascending=[True,False]) 将col1按升序排序,然后按降序排序col2 df.groupby(col...) 从一列返回一组对象的值 df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1)[col2] 返回col2中的值的平均值,按col1中的值分组(平均值可以用统计部分中的几乎任何函数替换...加入/合并 df1.append(df2) 将df1中的行添加到df2的末尾(列数应该相同) df.concat([df1, df2],axis=1) 将df1中的列添加到df2的末尾(行数应该相同...) df1.join(df2,on=col1,how='inner') SQL类型的将df1中的列与df2上的列连接,其中col的行具有相同的值。

    9.2K80

    Pandas速查手册中文版

    s.astype(float):将Series中的数据类型更改为float类型 s.replace(1,'one'):用‘one’代替所有等于1的值 s.replace([1,3],['one','three...(index=col1, values=[col2,col3], aggfunc=max):创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表 df.groupby(col1)....1):对DataFrame中的每一行应用函数np.max 数据合并 df1.append(df2):将df2中的行添加到df1的尾部 df.concat([df1, df2],axis=1):将df2中的列添加到...df1的尾部 df1.join(df2,on=col1,how='inner'):对df1的列和df2的列执行SQL形式的join 数据统计 df.describe():查看数据值列的汇总统计 df.mean...():返回所有列的均值 df.corr():返回列与列之间的相关系数 df.count():返回每一列中的非空值的个数 df.max():返回每一列的最大值 df.min():返回每一列的最小值 df.median

    12.2K92

    妈妈再也不用担心我忘记pandas操作了

    df.mean() # 返回所有列的均值 df.corr() # 返回列与列之间的相关系数 df.count() # 返回每一列中的非空值的个数 df.max() # 返回每一列的最大值 df.min...() # 返回每一列的最小值 df.median() # 返回每一列的中位数 df.std() # 返回每一列的标准差 数据合并: df1.append(df2) # 将df2中的行添加到df1的尾部...df.concat([df1, df2],axis=1) # 将df2中的列添加到df1的尾部 df1.join(df2,on=col1,how='inner') # 对df1的列和df2的列执行SQL...对象 df.groupby(col1)[col2] # 返回按列col1进行分组后,列col2的均值 df.pivot_table(index=col1, values=[col2,col3], aggfunc...=max) # 创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表 df.groupby(col1).agg(np.mean) # 返回按列col1分组的所有列的均值 data.apply

    2.2K31

    玩转数据处理120题|Pandas&R

    Python解法 df.head() R解法 # 默认是6行,可指定行数 head(df,5) 23 数据计算 题目:将salary列数据转换为最大值与最小值的平均值 难度:⭐⭐⭐⭐ 期望输出 ?...df df1,df2,df3) 86 数据创建 题目:将df1,df2,df3按照列合并为新DataFrame 难度:⭐⭐ 期望结果 0 1 2 0 95 0 0.022492 1 22...col3 = 3) # 或者用类似pandas的方法 names(df) col1','col2','col3') 89 数据提取 题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ Python...题目:从CSV文件中读取指定数据 难度:⭐⭐ 备注 从数据1中的前10行中读取positionName, salary两列 Python解法 df1 = pd.read_csv(r'C:\Users\chenx...难度:⭐⭐ 备注 从数据2中读取数据并在读取数据时将薪资大于10000的为改为高 Python解法 df2 = pd.read_csv(r'C:\Users\chenx\Documents\Data

    6.1K41

    Python常用小技巧总结

    创建⼀个按列col1进⾏分组,计算col2的最⼤值和col3的最⼤值、最⼩值的数据透视表 df.groupby(col1).agg(np.mean) # 返回按列col1分组的所有列的均值,⽀持...数据合并 df1.append(df2) # 将df2中的⾏添加到df1的尾部 df.concat([df1,df2],axis=1,join='inner') # 将df2中的列添加到df1的尾部...,值为空的对应⾏与对应列都不要 df1.join(df2.set_index(col1),on=col1,how='inner') # 对df1的列和df2的列执⾏SQL形式的join,默认按照索引来进...⾏合并,如果df1和df2有共同字段时,会报错,可通过设置lsuffix,rsuffix来进⾏解决,如果需要按照共同列进⾏合并,就要⽤到set_index(col1) pd.merge(df1,df2...,on='col1',how='outer') # 对df1和df2合并,按照col1,⽅式为outer pd.merge(df1,df2,left_index=True,right_index=True

    9.4K20

    玩转数据处理120题|Pandas版本

    Python解法 df.head() 23 数据计算 题目:将salary列数据转换为最大值与最小值的平均值 难度:⭐⭐⭐⭐ 期望输出 ?...难度:⭐⭐ Python解法 df = pd.concat([df1,df2,df3],axis=0,ignore_index=True) 86 数据创建 题目:将df1,df2,df3按照列合并为新...Python解法 df.columns = ['col1','col2','col3'] 89 数据提取 题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ Python解法 df['col1'][~...(df['col2']) temp.value_counts()[:3] 91 数据提取 题目:提取第一列中可以整除5的数字位置 难度:⭐⭐⭐ Python解法 np.argwhere(df['col1...'] % 5==0) 92 数据计算 题目:计算第一列数字前一个与后一个的差值 难度:⭐⭐ Python解法 df['col1'].diff().tolist() 93 数据处理 题目:将col1,col2

    7.6K41

    Pandas进阶修炼120题|完整版

    答案 df.head() 23 数据计算 题目:将salary列数据转换为最大值与最小值的平均值 难度:⭐⭐⭐⭐ 期望输出 ?...:⭐⭐ 答案 df = pd.concat([df1,df2,df3],axis=0,ignore_index=True) 86 数据创建 题目:将df1,df2,df3按照列合并为新DataFrame...df.columns = ['col1','col2','col3'] 89 数据提取 题目:提取第一列中不在第二列出现的数字 难度:⭐⭐⭐ 答案 df['col1'][~df['col1'].isin...:计算第一列与第二列之间的欧式距离 难度:⭐⭐⭐ 备注 不可以使用自定义函数 答案 np.linalg.norm(df['col1']-df['col2']) 第五期:一些补充 101 数据读取 题目..., df2, on=['key1', 'key2']) 109 数据重塑 题目:按照多列对数据进行合并 难度:⭐⭐ 备注 只保存df1的数据 答案 pd.merge(df1, df2, how='left

    12.7K106

    玩转数据处理120题|R语言版本

    R解法 # 默认是6行,可指定行数 head(df,5) 23 数据计算 题目:将salary列数据转换为最大值与最小值的平均值 难度:⭐⭐⭐⭐ 期望输出 ?...,df2,df3) 86 数据创建 题目:将df1,df2,df3按照列合并为新DataFrame 难度:⭐⭐ 期望结果 0 1 2 0 95 0 0.022492 1 22 5 -1.209494 2...R语言解法 df df1,df2,df3) names(df) <- c(0,1,2) 87 数据查看 题目:查看df所有数据的最小值、25%分位数、中位数、75%分位数、最大值 难度...(df$col1 %in% df$col2),1] 90 数据提取 题目:提取第一列和第二列出现频率最高的三个数字 难度:⭐⭐⭐ R语言解法 count(unlist(c(df$col1,df$col2...数据计算 题目:计算第一列与第二列之间的欧式距离 难度:⭐⭐⭐ 备注 不可以使用自定义函数 R语言解法 # 可以利用概念计算 res col1 - df$col2) ^ 2 sqrt(

    8.9K10

    高手系列!数据科学家私藏pandas高阶用法大全 ⛵

    ": [1, 2, 3], "col2": [4, 5, 6]}) df2 = df # Make a copy using = df2["col1"] = [7...:归一化值计数 大家都知道,我们可以使用value_counts获取列里的取值计数,但是,如果要获取列中某个值的百分比,我们可以添加normalize=True至value_counts参数设置来完成:...如下例,我们可以使用pandas.melt()将多列(“Aldi”、“Walmart”、“Costco”)转换为一列(“store”)的值。...如果调用combine_first()方法的 df1 中数据非空,则结果保留 df1 中的数据,如果 df1 中的数据为空值且传入combine_first()方法的 df2 中数据非空,则结果取 df2...中的数据,如果 df1 和 df2 中的数据都为空值,则结果保留 df1 中的空值(空值有三种:np.nan、None 和 pd.NaT)。

    6.1K30
    领券