添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
import pandas as pd os . chdir ( r'F:\ant_python\代码03_Python使用Pandas入门数据分析\ant-learn-pandas' ) df = pd . read_csv ( "./datas/beijing_tianqi/beijing_tianqi_2017-2019.csv" ) # df['yWendu'] = df['yWendu'].str.replace('℃','').astype(int) # 反复运行会报错 # AttributeError: Can only use .str accessor with string values! # df.apply(my_func,axis=1) # 不加result_type='expand',仅返回元组 df [ 'bWendu' ] = df [ 'bWendu' ] . apply ( lambda x : int ( str ( x ) . replace ( '℃' , '' ) ) ) df [ 'yWendu' ] = df [ 'yWendu' ] . apply ( lambda x : int ( str ( x ) . replace ( '℃' , '' ) ) ) df . head ( ) def my_func ( row ) : return row [ 'bWendu' ] - row [ 'yWendu' ] , ( row [ 'bWendu' ] + row [ 'yWendu' ] ) / 2 df [ [ 'wencha' , 'avg' ] ] = df . apply ( my_func , axis = 1 , result_type = 'expand' ) df . head ( ) # apply 函数的基本语法 我们将要应用的函数和要应用它的轴作为参数传递。若要将函数应用于每一列,请将0或'index'传递给axis参数,默认情况下axis参数为0。若要将函数应用于每一行,请将1或'columns'传递给axis参数。 df _rep = d (1)insert 方法 使用 pandas 的 insert 方法,第一个参数指定插入列的位置,第二个参数指定插入列的列名,第三个参数指定插入列的数据。 data.insert(data.shape[1], 'd', 0) a b c d 0 1 2 3 0 1 4 5 6 0 2 7 8 9 0 df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) col1 col2
pandas 中,pipe、 apply apply map都是用于数据处理和转换的函数。 - pipe函数允许将多个函数链接在一起,形成链式编程。通过pipe函数,可以直接将前一个函数的输出作为后一个函数的输入,方便 进行 多个数据处理操作。 - apply 函数用于对DataFrame或Series中的每一行或每一列应用自定义函数。 apply 函数通过传递一个函数作为参数,对数据 进行 逐行或逐列的处理和转换。 - apply map函数用于对DataFrame中的每一个元素应用自定义函数。 apply map函数通过传递一个函数作为参数,对 表格 中的每个元素 进行 处理和转换。 举个例子,假设有一个DataFrame df : ``` python import pandas as pd import numpy as np df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) 如果我们想要对DataFrame中的每一个元素 进行 平方操作,可以 使用 apply map函数: ``` python df = df . apply map(lambda x: x**2) 如果我们想要对DataFrame中的每一行 进行 求和操作,可以 使用 apply 函数: ``` python df = df . apply (lambda row: row.sum(), axis=1) 如果我们想要对DataFrame 进行 多个数据处理操作,可以 使用 pipe函数: ``` python def add_n( df , n): return df + n def append_ df _n( df , df 2, n): return pd.concat([ df , df 2 + n]) df = ( df .pipe(add_n, 10) .pipe(append_ df _n, df 2= df , n=6))