精华内容
下载资源
问答
  • 学习笔记-DataFrame求多列平均值

    万次阅读 2020-02-28 01:46:43
    df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 3, 3],'B':[1, 4, 3, 2, 1, 3, 3],'C':[1, 4, 3, 2, 1, 3, 3]}) df >>> A B C 0 1 1 1 1 1 4 4 2 1 3 3 3 2 2 2 4 2 1 1 5 3 3 3 6 3 3 3 df['D'] = df[['A...
    df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 3, 3],'B':[1, 4, 3, 2, 1, 3, 3],'C':[1, 4, 3, 2, 1, 3, 3]}) 
    df
    >>>
        A	B	C
    0	1	1	1
    1	1	4	4
    2	1	3	3
    3	2	2	2
    4	2	1	1
    5	3	3	3
    6	3	3	3
    
    # 求A, B 两列平均值
    df['D'] = df[['A', 'B']].mean(axis=1)
    df
    >>>
    	A	B	C	  D	
    0	1	1	1	1.0	
    1	1	4	4	2.5	
    2	1	3	3	2.0	
    3	2	2	2	2.0	
    4	2	1	1	1.5	
    5	3	3	3	3.0	
    6	3	3	3	3.0
    
    # 同样用np.mean求
    df.loc[:, 'E'] = np.mean([df['A'], df['B']], 0)  # 如果没有0,求的是A, B两列所有值和的平均数
    df
    >>>
    	A	B	C	  D	  E
    0	1	1	1	1.0	1.0
    1	1	4	4	2.5	2.5
    2	1	3	3	2.0	2.0
    3	2	2	2	2.0	2.0
    4	2	1	1	1.5	1.5
    5	3	3	3	3.0	3.0
    6	3	3	3	3.0	3.0
    
    展开全文
  • 像这样的 DataFrame ,rdd_2 = sc.parallelize([(0,10,223,"201601"), (0,10,83,"2016032"),(1,20,None,"201602"),(1,20,3003,"201601"), (1,20,None,"201603"), (2,40, 2321,"201601"), (2,30, 10,"201602"),(2,61,...

    像这样的 DataFrame ,

    rdd_2 = sc.parallelize([(0,10,223,"201601"), (0,10,83,"2016032"),(1,20,None,"201602"),(1,20,3003,"201601"), (1,20,None,"201603"), (2,40, 2321,"201601"), (2,30, 10,"201602"),(2,61, None,"201601")])

    df_data = sqlContext.createDataFrame(rdd_2, ["id", "type", "cost", "date"])

    df_data.show()

    +---+----+----+-------+

    | id|type|cost| date|

    +---+----+----+-------+

    | 0| 10| 223| 201601|

    | 0| 10| 83|2016032|

    | 1| 20|null| 201602|

    | 1| 20|3003| 201601|

    | 1| 20|null| 201603|

    | 2| 40|2321| 201601|

    | 2| 30| 10| 201602|

    | 2| 61|null| 201601|

    +---+----+----+-------+

    我需要用现有值的平均值填充空值,预期结果为

    +---+----+----+-------+

    | id|type|cost| date|

    +---+----+----+-------+

    | 0| 10| 223| 201601|

    | 0| 10| 83|2016032|

    | 1| 20|1128| 201602|

    | 1| 20|3003| 201601|

    | 1| 20|1128| 201603|

    | 2| 40|2321| 201601|

    | 2| 30| 10| 201602|

    | 2| 61|1128| 201601|

    +---+----+----+-------+

    其中1128是现有值的平均值。我需要在几个专栏中这样做。

    我目前的方法是使用na.fill:

    fill_values = {column: df_data.agg({column:"mean"}).flatMap(list).collect()[0] for column in df_data.columns if column not in ['date','id']}

    df_data = df_data.na.fill(fill_values)

    +---+----+----+-------+

    | id|type|cost| date|

    +---+----+----+-------+

    | 0| 10| 223| 201601|

    | 0| 10| 83|2016032|

    | 1| 20|1128| 201602|

    | 1| 20|3003| 201601|

    | 1| 20|1128| 201603|

    | 2| 40|2321| 201601|

    | 2| 30| 10| 201602|

    | 2| 61|1128| 201601|

    +---+----+----+-------+

    但这很麻烦。有什么想法吗?

    展开全文
  • python - pandas DataFrame:用平均...这个问题与这个问题非常相似:numpy数组:用平均值替换nan值,但不幸的是,给出的解决方案不适用于pandas DataFrame。piokuc asked 2019-07-29T20:10:32Z8个解决方案1...

    python - pandas DataFrame:用平均列替换nan值

    我有一个大部分都有实数的pandas DataFrame,但它中也有一些nan值。

    如何用平均列替换nan?

    这个问题与这个问题非常相似:numpy数组:用列的平均值替换nan值,但不幸的是,给出的解决方案不适用于pandas DataFrame。

    piokuc asked 2019-07-29T20:10:32Z

    8个解决方案

    180 votes

    您只需使用fillna直接填写fillna:

    In [27]: df

    Out[27]:

    A B C

    0 -0.166919 0.979728 -0.632955

    1 -0.297953 -0.912674 -1.365463

    2 -0.120211 -0.540679 -0.680481

    3 NaN -2.027325 1.533582

    4 NaN NaN 0.461821

    5 -0.788073 NaN NaN

    6 -0.916080 -0.612343 NaN

    7 -0.887858 1.033826 NaN

    8 1.948430 1.025011 -2.982224

    9 0.019698 -0.795876 -0.046431

    In [28]: df.mean()

    Out[28]:

    A -0.151121

    B -0.231291

    C -0.530307

    dtype: float64

    In [29]: df.fillna(df.mean())

    Out[29]:

    A B C

    0 -0.166919 0.979728 -0.632955

    1 -0.297953 -0.912674 -1.365463

    2 -0.120211 -0.540679 -0.680481

    3 -0.151121 -2.027325 1.533582

    4 -0.151121 -0.231291 0.461821

    5 -0.788073 -0.231291 -0.530307

    6 -0.916080 -0.612343 -0.530307

    7 -0.887858 1.033826 -0.530307

    8 1.948430 1.025011 -2.982224

    9 0.019698 -0.795876 -0.046431

    fillna的文档字符串表示value应该是标量或字典,但是,它似乎也适用于Series。 如果你想传递一个字典,你可以使用df.mean().to_dict()。

    bmu answered 2019-07-29T20:10:52Z

    32 votes

    尝试:

    sub2['income'].fillna((sub2['income'].mean()), inplace=True)

    Ammar Shigri answered 2019-07-29T20:11:11Z

    19 votes

    In [16]: df = DataFrame(np.random.randn(10,3))

    In [17]: df.iloc[3:5,0] = np.nan

    In [18]: df.iloc[4:6,1] = np.nan

    In [19]: df.iloc[5:8,2] = np.nan

    In [20]: df

    Out[20]:

    0 1 2

    0 1.148272 0.227366 -2.368136

    1 -0.820823 1.071471 -0.784713

    2 0.157913 0.602857 0.665034

    3 NaN -0.985188 -0.324136

    4 NaN NaN 0.238512

    5 0.769657 NaN NaN

    6 0.141951 0.326064 NaN

    7 -1.694475 -0.523440 NaN

    8 0.352556 -0.551487 -1.639298

    9 -2.067324 -0.492617 -1.675794

    In [22]: df.mean()

    Out[22]:

    0 -0.251534

    1 -0.040622

    2 -0.841219

    dtype: float64

    每列应用该列的平均值并填充

    In [23]: df.apply(lambda x: x.fillna(x.mean()),axis=0)

    Out[23]:

    0 1 2

    0 1.148272 0.227366 -2.368136

    1 -0.820823 1.071471 -0.784713

    2 0.157913 0.602857 0.665034

    3 -0.251534 -0.985188 -0.324136

    4 -0.251534 -0.040622 0.238512

    5 0.769657 -0.040622 -0.841219

    6 0.141951 0.326064 -0.841219

    7 -1.694475 -0.523440 -0.841219

    8 0.352556 -0.551487 -1.639298

    9 -2.067324 -0.492617 -1.675794

    Jeff answered 2019-07-29T20:11:35Z

    9 votes

    # To read data from csv file

    Dataset = pd.read_csv('Data.csv')

    # To divide input in X and y axis

    X = Dataset.iloc[:, :-1].values

    Y = Dataset.iloc[:, 3].values

    # To calculate mean use imputer class

    from sklearn.preprocessing import Imputer

    imputer = Imputer(missing_values='NaN', strategy='mean', axis=0)

    imputer = imputer.fit(X[:, 1:3])

    X[:, 1:3] = imputer.transform(X[:, 1:3])

    Roshan jha answered 2019-07-29T20:11:53Z

    7 votes

    如果你想用平均值来计算缺失值,并且你想逐列,那么这只会用该列的平均值来估算。 这可能更具可读性。

    sub2['income'] = sub2['income'].fillna((sub2['income'].mean()))

    Pranay Aryal answered 2019-07-29T20:12:18Z

    6 votes

    除上述选择外,另一个选择是:

    df = df.groupby(df.columns, axis = 1).transform(lambda x: x.fillna(x.mean()))

    它比以前的均值响应更不优雅,但如果你想用其他列函数替换空值,它可能会更短。

    guibor answered 2019-07-29T20:12:50Z

    4 votes

    直接使用Outlet_size用均值填充所有空值

    如果要使用该列的平均值填充空值,则可以使用此值

    假设Outlet_size这里Item_Weight是列名

    这里我们分配(将x的空值填充为x的x的平均值)

    df['Item_Weight'] = df['Item_Weight'].fillna((df['Item_Weight'].mean()))

    如果要使用某些字符串填充空值,请使用

    这里Outlet_size是列名

    df.Outlet_Size = df.Outlet_Size.fillna('Missing')

    Sunny Barnwal answered 2019-07-29T20:13:49Z

    2 votes

    熊猫:如何将NaN(median)值替换为一列的平均值(中位数),中位数或其他统计数据

    假设您的DataFrame是median并且您有一个名为nr_item_ave的列。这是:NaN

    如果要将列median的median值替换为列的平均值,请执行以下操作:

    使用方法median:

    DF[ 'nr_item_ave'] = DF['nr_items].fillna(mean_value)

    我创建了一个名为nr_item_ave的新median列,用于存储新列,其中NaN值替换为列的mean值。

    使用median时应该小心。如果你有异常值,更值得推荐使用median

    pink.slash answered 2019-07-29T20:14:56Z

    展开全文
  • pandas中Series和DataFrame基本操作。设有DataFrame结果的数据a如下所示:a bcone4 1 1two6 2 0three6 1 6一、查看数据(查看对象的方法对于Series来说同样适用)1.查看DataFrame前xx行或后xx行a=DataFrame(data);a....

    pandas中Series和DataFrame基本操作。

    设有

    DataFrame结果的数据a如下所示:

    a b

    c

    one

    4 1 1

    two

    6 2 0

    three

    6 1 6

    一、查看数据(查看对象的方法对于Series来说同样适用)

    1.查看DataFrame前xx行或后xx行

    a=DataFrame(data);

    a.head(6)表示显示前6行数据,若head()中不带参数则会显示全部数据。

    a.tail(6)表示显示后6行数据,若tail()中不带参数则也会显示全部数据。

    2.查看DataFrame的index,columns以及values

    a.index ; a.columns ; a.values 即可

    3.describe()函数对于数据的快速统计汇总

    a.describe()对每一列数据进行统计,包括计数,均值,std,各个分位数等。

    4.对数据的转置

    a.T

    5.对轴进行排序

    a.sort_index(axis=1,ascending=False);

    其中axis=1表示对所有的columns进行排序,下面的数也跟着发生移动。后面的ascending=False表示按降序排列,参数缺失时默认升序。

    6.对DataFrame中的值排序

    a.sort(columns=’x’)

    即对a中的x这一列,从小到大进行排序。注意仅仅是x这一列,而上面的按轴进行排序时会对所有的columns进行操作。

    二、选择对象

    1.选择特定列和行的数据

    a[‘x’] 那么将会返回columns为x的列,注意这种方式一次只能返回一个列。a.x与a[‘x’]意思一样。

    取行数据,通过切片[]来选择

    如:a[0:3] 则会返回前三行的数据。

    2.loc是通过标签来选择数据

    a.loc[‘one’]则会默认表示选取行为’one’的行;

    a.loc[:,[‘a’,’b’] ] 表示选取所有的行以及columns为a,b的列;

    a.loc[[‘one’,’two’],[‘a’,’b’]] 表示选取’one’和’two’这两行以及columns为a,b的列;

    a.loc[‘one’,’a’]与a.loc[[‘one’],[‘a’]]作用是一样的,不过前者只显示对应的值,而后者会显示对应的行和列标签。

    3.iloc则是直接通过位置来选择数据

    这与通过标签选择类似

    a.iloc[1:2,1:2] 则会显示第一行第一列的数据;(切片后面的值取不到)

    a.iloc[1:2] 即后面表示列的值没有时,默认选取行位置为1的数据;

    a.iloc[[0,2],[1,2]] 即可以自由选取行位置,和列位置对应的数据。

    4.使用条件来选择

    使用单独的列来选择数据

    a[a.c>0] 表示选择c列中大于0的数据

    使用where来选择数据

    a[a>0] 表直接选择a中所有大于0的数据

    使用isin()选出特定列中包含特定值的行

    a1=a.copy()

    a1[a1[‘one’].isin([‘2’,’3’])] 表显示满足条件:列one中的值包含’2’,’3’的所有行。

    三、设置值(赋值)

    赋值操作在上述选择操作的基础上直接赋值即可。

    例a.loc[:,[‘a’,’c’]]=9 即将a和c列的所有行中的值设置为9

    a.iloc[:,[1,3]]=9 也表示将a和c列的所有行中的值设置为9

    同时也依然可以用条件来直接赋值

    a[a>0]=-a 表示将a中所有大于0的数转化为负值

    四、缺失值处理

    在pandas中,使用np.nan来代替缺失值,这些值将默认不会包含在计算中。

    1.reindex()方法

    用来对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝。

    a.reindex(index=list(a.index)+[‘five’],columns=list(a.columns)+[‘d’])

    a.reindex(index=[‘one’,’five’],columns=list(a.columns)+[‘d’])

    即用index=[]表示对index进行操作,columns表对列进行操作。

    2.对缺失值进行填充

    a.fillna(value=x)

    表示用值为x的数来对缺失值进行填充

    3.去掉包含缺失值的行

    a.dropna(how=’any’)

    表示去掉所有包含缺失值的行

    五、合并

    1.concat

    concat(a1,axis=0/1,keys=[‘xx’,’xx’,’xx’,…]),其中a1表示要进行进行连接的列表数据,axis=1时表横着对数据进行连接。axis=0或不指定时,表将数据竖着进行连接。a1中要连接的数据有几个则对应几个keys,设置keys是为了在数据连接以后区分每一个原始a1中的数据。

    例:a1=[b[‘a’],b[‘c’]]

    result=pd.concat(a1,axis=1,keys=[‘1’,’2’])

    2.Append 将一行或多行数据连接到一个DataFrame上

    a.append(a[2:],ignore_index=True)

    表示将a中的第三行以后的数据全部添加到a中,若不指定ignore_index参数,则会把添加的数据的index保留下来,若ignore_index=Ture则会对所有的行重新自动建立索引。

    3.merge类似于SQL中的join

    设a1,a2为两个dataframe,二者中存在相同的键值,两个对象连接的方式有下面几种:

    (1)内连接,pd.merge(a1, a2, on=’key’)

    (2)左连接,pd.merge(a1, a2, on=’key’, how=’left’)

    (3)右连接,pd.merge(a1, a2, on=’key’, how=’right’)

    (4)外连接, pd.merge(a1, a2, on=’key’, how=’outer’)

    至于四者的具体差别,具体学习参考sql中相应的语法。

    六、分组(groupby)

    用pd.date_range函数生成连续指定天数的的日期

    pd.date_range(‘20000101’,periods=10)

    def shuju():

    data={

    'date':pd.date_range('20000101',periods=10),

    'gender':np.random.randint(0,2,size=10),

    'height':np.random.randint(40,50,size=10),

    'weight':np.random.randint(150,180,size=10)

    }

    a=DataFrame(data)

    print(a)

    date gender height weight

    0 2000-01-01 0 47 165

    1 2000-01-02 0 46 179

    2 2000-01-03 1 48 172

    3 2000-01-04 0 45 173

    4 2000-01-05 1 47 151

    5 2000-01-06 0 45 172

    6 2000-01-07 0 48 167

    7 2000-01-08 0 45 157

    8 2000-01-09 1 42 157

    9 2000-01-10 1 42 164

    用a.groupby(

    'gender').sum()得到的结果为: #注意在python中groupby(''xx)后要加sum(),不然显示

    不了数据对象。

    gender height weight

    0 256 989

    1 170 643

    1

    此外用a.groupby(‘gender’).size()可以对各个gender下的数目进行计数。

    所以可以看到groupby的作用相当于:

    按gender对gender进行分类,对应为数字的列会自动求和,而为字符串类型的列则不显示;当然也可以同时groupby([‘x1’,’x2’,…])多个字段,其作用与上面类似。

    七、Categorical按某一列重新编码分类

    如六中要对a中的gender进行重新编码分类,将对应的0,1转化为male,female,过程如下:

    a[

    'gender1']=a['gender'].astype('category')

    a[

    'gender1'].cat.categories=['male','female'] #即将0,1先转化为category类型再进行编码。

    print(a)得到的结果为:

    date gender height weight gender1

    0 2000-01-01 1 40 163 female

    1 2000-01-02 0 44 177 male

    2 2000-01-03 1 40 167 female

    3 2000-01-04 0 41 161 male

    4 2000-01-05 0 48 177 male

    5 2000-01-06 1 46 179 female

    6 2000-01-07 1 42 154 female

    7 2000-01-08 1 43 170 female

    8 2000-01-09 0 46 158 male

    9 2000-01-10 1 44 168 female

    1

    所以可以看出重新编码后的编码会自动增加到dataframe最后作为一列。

    八、相关操作

    描述性统计:

    1.a.mean() 默认对每一列的数据求平均值;若加上参数a.mean(1)则对每一行求平均值;

    2.统计某一列x中各个值出现的次数:a[‘x’].value_counts();

    3.对数据应用函数

    a.apply(lambda x:x.max()-x.min())

    表示返回所有列中最大值-最小值的差。

    4.字符串相关操作

    a[‘gender1’].str.lower() 将gender1中所有的英文大写转化为小写,注意dataframe没有str属性,只有series有,所以要选取a中的gender1字段。

    九、时间序列

    在六中用pd.date_range(‘xxxx’,periods=xx,freq=’D/M/Y….’)函数生成连续指定天数的的日期列表。

    例如pd.date_range(‘20000101’,periods=10),其中periods表示持续频数;

    pd.date_range(‘20000201’,’20000210’,freq=’D’)也可以不指定频数,只指定起始日期。

    此外如果不指定freq,则默认从起始日期开始,频率为day。其他频率表示如下:

    d1027f20860cc717489732b494acd777086.jpg

    1.png

    十、画图(plot)

    在pycharm中首先要:

    import matplotlib.pyplot as plt

    a=Series(np

    .random.randn(1000),index=pd.date_range('20100101',periods=1000))

    b=

    a.cumsum()

    b.plot()

    plt.show()

    #最后一定要加这个plt.show(),不然不会显示出图来。

    1

    35c062c2782939e03c9ce12a62a36a2ca08.jpg

    2.PNG

    也可以使用下面的代码来生成多条时间序列图:

    a=DataFrame(np

    .random.randn(1000,4),index=pd.date_range('20100101',periods=1000),columns=list('ABCD'))

    b=

    a.cumsum()

    b.plot()

    plt.show()

    1

    fe4bc3b72309e6197a1a5cb6abc41bc2a92.jpg

    3.png

    十一、导入和导出文件

    写入和读取excel文件

    虽然写入excel表时有两种写入xls和csv,但建议少使用csv,不然在表中调整数据格式时,保存时一直询问你是否保存新格式,很麻烦。而在读取数据时,如果指定了哪一张sheet,则在pycharm又会出现格式不对齐。

    还有将数据写入表格中时,excel会自动给你在表格最前面增加一个字段,对数据行进行编号。

    a.to_excel(

    r'C:\\Users\\guohuaiqi\\Desktop\\2.xls',sheet_name='Sheet1')

    a=pd.read_excel(

    r'C:\\Users\\guohuaiqi\\Desktop\\2.xls','Sheet1',na_values=['NA'])

    注意sheet_name后面的Sheet1中的首字母大写;读取数据时,可以指定读取哪一张表中的数据,而

    且对缺失值补上NA。

    最后再附上写入和读取csv格式的代码:

    a.to_csv(

    r'C:\\Users\\guohuaiqi\\Desktop\\1.csv',sheet_name='Sheet1')

    a=pd.read_csv(

    r'C:\\Users\\guohuaiqi\\Desktop\\1.csv',na_values=['NA'])

    1

    展开全文
  • 这在R语言中使用rowMeans求取多行平均值,或colMeans求取多列平均值 示例如下: #create data frame data <- data.frame(var1 = c(0, NA, 2, 2, 5), var2 = c(5, 5, 7, 8, 9), var3 = c(2, 7, 9, 9, 7)
  • 如何查看Pandas DataFrame对象的最大值、最小值、平均值、标准差、中位数等 我们举个例子说明一下,先创建一个dataframe对象df,内容如下: 1.使用sum函数获得函数的和,用法:df.sum() 2.使用max获取最大值,用法...
  • 你可以简单地使用DataFrame.fillna来直接填充nan的:In [27]: df Out[27]: ABC 0 -0.166919 0.979728 -0.632955 1 -0.297953 -0.912674 -1.365463 2 -0.120211 -0.540679 -0.680481 3 NaN -2.027325 1.533582 4 ...
  • I've got a pandas DataFrame filled mostly with real numbers, but there is a few nan values in it as well.How can I replace the nans with averages of columns where they are?This question is very simila...
  • 最慢:Method_1,因为.describe( “A”)来计算最小值,最大值,平均值,STDDEV和计数(5个计算在整个)介质:方法4,因为,.rdd(DF到RDD转换)减慢了过程。因为逻辑非常相似,所以Spark的催化剂优化器遵循非常相似的...
  • Python中如何求DataFrame中某一数的日平均值? 例如求df对象中close的5日均线: 1.使用循环,采用手动计算的方式: df['close'][i-4:i+1].mean() 获取第i天的5日均线 2.对整个dataframe对象,使用rolling...
  • 为了让不同频率数据统一时间标准,需要将数据按小时、分钟等方式进行分组,然后取组的平均值或中位数最为组的值,如果自己写算法会比较麻烦且耗时,pandas提供了一个函数可以快速解决此类问题:DataFrame.resample()...
  • 条件是如果该值高于平均值,则将数值更改为1,否则将其设置为0.这是我现在的代码:import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('data.csv')dataset = dataset....
  • 在我需要编写一个函数,该函数遍历数据帧的每一行,将该值与每个类别的平均犯罪数进行比较,然后只标识犯罪数超过平均值的地址。在以下是我目前为止的代码:import pandas as pdimport csvcrimeData...
  • SELECT (US + UK + CAN) / 3 AS mean FROM df可以直接与sqlcontext.sql一起使用,也可以使用dsl表示df.select(((col("UK") + col("US") + col("CAN")) / lit(3)).alias("mean"))如果有更多的,可以按如下方式生成...
  • 小编做为一个多年资深搞仓库卫生,管理库存计划的打工人,由于工作需要,也接触了几种不同的计算平均值的方法,虽然现在系统是越来越强大了,很多数据,系统都能够直接计算出来的。但是,知其然才能知其所以然,了解...
  • 条件是如果该值高于平均值,则将数值更改为1,否则将其设置为0.这是我现在的代码:import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('data.csv')dataset = dataset....
  • 计算year平均值、age的最大值 以字典数据"state": [‘a’, ‘b’, ‘c’, ‘d’], “year”: [1991, 1992, 1993, 1994], “pop”: [6, 7, 8, 9], “age”: [45, 23, 46, 78]},为基础创建一个DataFrame对象, ...
  • 情景:计算两次考试,所有学生的平均成绩: '''a.csv date,name,grade 2020-07-01,mary,70 2020-07-01,tom,80 2020-07-01,jerry,70 2020-07-02,mary,80 2020-07-02,tom,90 2020-07-02,tom,100''' grade = pd....
  • 查看DataFrame前xx行或后xx行a=DataFrame(data);a.head(6)表示显示前6行数据,若head()中不带参数则会显示全部数据。a.tail(6)表示显示后6行数据,若tail()中不带参数则也会显示全部数据。2.查看DataFrame的index,...
  • 有没有一种简单的方法来计算pandas DataFrame中每一平均值,并且为每一行排除特定值?下面每一行中的x标记了每次迭代中要从计算中排除的值:a b a b a b0 1 2 0 x x 0 1 21 ...
  • 重复的处理利用drop_duplicates()函数删除数据表中重复多余的记录, 比如删除重复多余的ID.import pandas as pddf = pd.DataFrame({"ID": ["A1000","A1001","A1002", "A1002"],"departmentId": [60001,600...
  • 作者:彭佳 转自: Excel之家ExcelHome小伙伴们好啊,今天和大家分享一组用于平均值计算的函数,分别是:算术平均值、修剪平均值、条件平均值和多条件平均值计算。1. AVERAGE功能:计算各参数的平均值常用写法为:=...
  • Python按某一求其余平均值

    千次阅读 2020-09-14 11:34:09
    根据class_type对数据进行group,分别求x, y, z的平均值 df = pd.DataFrame(data) #给df加上列名 df.columns = ['x','y','z','seg'] #要被group的列名 cols = ['x','y','z'] #根据哪个进行group gp_col = 'seg'
  • 首先通过a和b定义的范围创建范围DataFrame:a = np.arange(0, 180, 30)df1 = pd.DataFrame({'aa':a[:-1], 'bb':a[1:]})#print (df1)然后通过helpertmp交叉连接所有行:^{pr2}$最后一个过滤器-有两个按的解决...
  • 上节介绍获取行、列子集的方法,运用了range函数和python的切片语法,在数据分析中,总是会进行统计计算,很多基本统计计算有现成的库可用,或内置在语言中。...3.每个洲出了多少个国家和地区?对于...
  • 9. 表格中缺失处理import numpy as npimport pandas as pddates = pd.date_range('20130101', periods=6)df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))s1 = pd.Series([1,2,3,4,5,...
  • 输出:一个一维的平均值array import numpy as np def non_zero_mean(np_arr): exist = (np_arr != 0) num = np_arr.sum(axis=1) den = exist.sum(axis=1) return num/den 如果要求按行的非零元素的平均值,把...
  • 如下所示: .count() #非空元素计算 .min() a #最小值 .max() #最大 .idxmin() #最小值的位置,类似于R中的which.min函数 .idxmax() #最大的....mad() #平均绝对偏差 .skew() #偏度 .kurt() #峰度 .describe() #

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 173
精华内容 69
关键字:

dataframe列平均值