【python – 扩展由pandas中的多个列分组的平均值】教程文章相关的互联网学习教程文章

python-将函数应用于pandas数据框中的每一列【代码】

如何以更多的方式编写以下函数:def calculate_df_columns_mean(self, df):means = {}for column in df.columns.columns.tolist():cleaned_data = self.remove_outliers(df[column].tolist())means[column] = np.mean(cleaned_data)return means感谢帮助.解决方法:在我看来,不必在列上进行迭代:def calculate_df_columns_mean(self, df):cleaned_data = self.remove_outliers(df[column].tolist())return cleaned_data.mean()假设...

Python:Pandas,处理间隔的列名【代码】

如果我需要解析多个文本文件,则看起来像这样,但是在列名和上面的井号标签的长度方面可能会有所不同: 我将如何将其转换为熊猫数据框?我试过使用pd.read_table(‘file.txt’,delim_whitespace = True,skiprows = 14),但是它有各种各样的问题.我的问题是… 顶部的所有文本,星号和磅都需要忽略,但是我不能仅使用跳过行,因为在另一个文件中,顶部所有垃圾的大小可能会有所不同. 由于空白,列“ stat(/-)”和“ syst(/-)”被视为4列. 一磅...

python pandas- AttributeError:“系列”对象没有属性“列”?【代码】

我正在尝试计算特定列’df1’当前行的值落在前5行(在2个并排的列中)的高低范围值之间的次数.这是一个后续问题-Dickster已经完成了here的繁重任务. Series().between()方法不配合,抱怨AttributeError:’Series’对象没有属性’columns’.我不明白我是如何涉及columns属性的.list1 = [[21,101],[22,110],[25,113],[24,112],[21,109],[28,108],[30,102],[26,106],[25,111],[24,110]] dict1 = {} dict1['df1'] = pd.DataFrame(list1,i...

python-pandas.DataFrame.merge中的错误?【代码】

下列:q = pd.DataFrame([[1,2],[3,4]]) r = pd.DataFrame([[1,2],[5,6]], columns=['a','b']) pd.merge(q, r, left_on=q.columns, right_on=r.columns, how='left')引发错误:ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()以下不是:q = pd.DataFrame([[1,2],[3,4]]) r = pd.DataFrame([[1,2],[5,6]], columns=['a','b']) pd.merge(q, r, left_on=q.columns.tolist(...

python科学计算库-pandas【代码】

1、基本概念在数据分析工作中,Pandas 的使用频率是很高的,一方面是因为 Pandas 提供的基础数据结构 DataFrame 与 json 的契合度很高,转换起来就很方便。另一方面,如果我们日常的数据清理工作不是很复杂的话,你通常用几句 Pandas 代码就可以对数据进行规整。Pandas 可以说是基于 NumPy 构建的含有更高级数据结构和分析能力的工具包。在NumPy 中数据结构是围绕 ndarray 展开的Pandas 中的核心数据结构Series 和 DataFrame 这两个...

python-在不显示多余行的情况下以HTML显示Pandas DataFrame【代码】

如果使用DataFrame.set_index,则会得到以下结果:import pandas as pddf = pd.DataFrame([['foo',1,3.0],['bar',2,2.9],['baz',4,2.85],['quux',3,2.82]],columns=['name','order','gpa']) df.set_index('name')注意不必要的行…我知道这样做是因为它为列标题保留了左上角的单元格,但我不在乎,如果在演示文稿中使用它,它会使我的表显得有些不专业. 如果我不使用DataFrame.set_index,多余的行就消失了,但是我得到了数字行索引,我不想...

python-在pandas中将索引值从一个数据框映射到另一个数据框【代码】

我有一个数据框df_in像这样:import pandas as pd import numpy as np dic_in = {'A':['A1','A1','A1','L3','A3','A3','B1','B1','B1','B2','A2'],'B':['xxx','ttt','qqq','nnn','lll','nnn','eee','xxx','qqq','bbb','sss'],'C':['fas','efe','pfo','scs','grj','rpo','cbb','asf','asc','wq3','mls']} df_in = pd.DataFrame(dic_in)我也有另一个数据框,称为df_map:dic_map = {'X':['A1' ,'A1' ,'A1' ,'A2' ,'A3' ,'B1' ,'B1' ,'...

python-从pandas Dataframe列制作条形图【代码】

我正在尝试制作一个简单的条形图:高度是“数据框”列中值的频率 我一直遇到这个错误:ValueError:不兼容的大小:参数’height’必须为长度1或标量 码:import numpy as np import pandas as pd import matplotlib.pyplot as plt import pylab as pl matplotlib.style.use('ggplot') flags = [200, 201, 211, 237, 239, 250, 254, 255] frequencies = [158, 87, 5, 4] length = len(flags) plt.bar(length, frequencies.valu...

Python Pandas:在时区转换后重新索引DataFrame【代码】

让我们考虑以下数据帧,该数据帧跨度为1月16日上午10点至下午4点.date_range1 = pd.date_range(dt(2017,1,16,10), dt(2017,1,16, 20), freq='2H') df = pd.DataFrame(data = np.random.rand(len(date_range1),2), index = date_range1)我用一个稍长的DateTimeindex重新索引它,其范围从0am到11pm,并获得所需的结果,NaN填充了0-10am到4-11pm之间的时间范围,其中没有数据:date_range2 = pd.date_range(dt(2017,1,16,0), dt(2017,1,16,...

Python Pandas groupby并使用分组明智的计算来更改新列ala dplyr【代码】

我对R dplyr进行数据分析非常熟悉,并且正在尝试将用dplyr编写的一些代码转换为pandas.我所拥有的数据由ID列和DATE所标识的人员使用该产品.我正在尝试找出将以下R dplyr代码转换为python pandas代码的最佳方法.基本上,我将ID列分组,过滤某种类型的产品,然后添加一列(对于该组中的每一行),添加该人的最短(首次使用)日期和最长(最后使用)日期和产品.最后,我还要添加一列来计算上次使用日期和首次使用日期之间的天数.数据如下:ID PRO...

python-在Pandas中使用Apply时为什么会有额外的索引【代码】

当我在Pandas中使用apply应用于用户定义的函数时,看起来python正在创建其他数组.我如何摆脱它?这是我的代码:def fnc(group):x = group.C.valuesout = x[np.where(x < 0)]return pd.DataFrame(out)data = pd.DataFrame({'A':np.random.randint(1, 3, 10),'B':3,'C':np.random.normal(0, 1, 10)})data.groupby(by=['A', 'B']).apply(fnc).reset_index()创建了这个奇怪的Level_2索引.有什么方法可以避免在运行函数时创建它?A B ...

python-如何区分与pandas数据框所有行中相同的列?【代码】

我有一个像下面的数据框-df1_data = {'sym' :{0:'AAA',1:'BBB',2:'CCC',3:'DDD',4:'DDD',5:'CCC'},'id' :{0:'101',1:'102',2:'103',3:'104',4:'105',5:'106'},'sal':{0:'1000',1:'1000',2:'1000',3:'1000',4:'1000',5:'1000'},'loc':{0:'zzz',1:'zzz',2:'zzz',3:'zzz',4:'zzz',5:'zzz'},'name':{0:'abc',1:'abc',2:'abc',3:'pqr',4:'pqr',5:'pqr'}} df = pd.DataFrame(df1_data) print dfid loc name sal sym 0 101 zzz abc...

python pandas合并数据透视表【代码】

我创建了9个数据透视表: 他们都看起来像这样2015 NR_V 0 20.0000001 20.4056772 35.9826253 50.4751674 61.578472我想通过NR_V合并所有表格,就像合并普通表格的方式一样,但是我认为空行会把它扔掉. 我试过了dfs = [p_2009, p_2010, p_2011, p_2012, p_2013, p_2014, p_2015 ] merge = partial(pd.merge, on=['NR_V'], how='outer')result = dfs[0]for df in dfs[1:]:result = merge(result, df)但是我收到一个错...

Python Pandas根据条件添加列值【代码】

我有一个具有以下值的DataFrame(df):Title fintech_countries US 60 UK 54 India 28 Australia 25 Germany 13 Singapore 11 Canada 10我想将所有国家/地区的值< 25,并将其总和显示为“其他”(34).我通过以下代码为国家/地区创建了列名称: df1 = df.rename_axis('fintech_countries').rename_axis("countries", axis="columns"...

python-Pandas / Numpy从数组列获取矩阵【代码】

我有一个带有列表列的pandas数据框. df:inputs 0 [1, 2, 3] 1 [4, 5, 6] 2 [7, 8, 9] 3 [10, 11, 12]我需要矩阵array([[ 1, 2, 3],[ 4, 5, 6],[ 7, 8, 9],[10, 11, 12]])一个有效的方法来做到这一点? 注意:当我尝试df.inputs.as_matrix()时,输出为array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], dtype=object)形状为(4,),而不是所需的(4,3).解决方法:您可以将列转换为列表,然后应用numpy数组,如果列中的...

分组 - 相关标签