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

Python Pandas-根据值删除行【代码】

我有一个带有A和B列的Pandas数据框import pandas as pd import numpy as npdf = pd.DataFrame(np.random.randint(0,100,size=(10, 2)), columns=list('AB'))我创建列C,如果A>则为NULL.乙df['C'] = np.select([ df.A > df.B ], [df.A], default=np.NaN)这给出了:A B C 0 95 19 95.0 1 46 11 46.0 2 96 86 96.0 3 22 61 NaN 4 69 1 69.0 5 78 91 NaN 6 42 7 42.0 7 24 28 NaN 8 55 92 NaN 9...

python-pandas.concat()不填充列【代码】

我正在尝试如下创建虚拟数据:import numpy as np import pandas as pd def dummy_historical(seclist, dates, startvalues):dfHist = pd.DataFrame(0, index=[0], columns=seclist)for sec in seclist:# (works fine)svalue = startvalues[sec].max()# this creates a random sequency of 84 rows and 1 column (works fine)dfRandom = pd.DataFrame(np.random.randint(svalue-10,svalue+10, size=(dates.size, 1 )), index=...

python-修复pandas DataFrame中的索引列【代码】

我有一个带有以下数据的Pandas DataFrame(来自Jupyter Notebook的输出)无论如何,我可以命名第一列吗?我无法访问它,因为它看起来像是行名列. 或者以其他方式提取第一个未修饰的列,并使用[‘accessions’]和[‘symbols’]创建一个新的数据框解决方法:pd.DataFrame.rename_axis 那是指数…使用@JesseVogt的样本数据框dfdf = pd.DataFrame(data={'asc': [['XM', 'NM', 'XM'], ['NM', 'XM'], ['NM', 'NM', 'NM'], ['NM']],'sym': [{'CP...

python-pandas:映射到新列,不包括某些代码【代码】

我有一个键和值的字典.我想“映射”数据框列中的数字,其中原始列是键,新列是值. 但是,字典中未包含的任何值都应编码为999. 原始数据框:Col1 0 02 1 03 2 02 3 02 4 04 5 88 6 77字典:codes = {'01':'05','02':'06','03':'07','04':'08'}预期产量:>>> df['ColNew'] = df['Col1'].map(codes)ColNew 0 06 1 07 2 06 3 06 4 08 5 999 6 999除了首先将999代码包含在字典中之外,我不确定如...

Python-将SciPy Beta Distribution应用于Pandas DataFrame的所有行【代码】

在SciPy中,可以按以下方式实现Beta分发:x=640495496 alpha=1.5017096 beta=628.110247 A=0 B=148000000000 p = scipy.stats.beta.cdf(x, alpha, beta, loc=A, scale=B-A)现在,假设我有一个列x,alpha,beta,A,B的Pandas数据框.如何将beta分布应用于每一行,并将结果追加为新列?解决方法:考虑到我怀疑大熊猫适用于所有行,并且scipy.stats分布在每次调用中都有相当大的开销,因此我将使用向量化版本:>>> from scipy import stats >>>...

python-在Pandas Dataframe中插入字典(JSON)【代码】

我有一个用例,需要将数据框的现有列转换为JSON并仅存储在一个列中. 到目前为止,我已经尝试过了:import pandas as pd import json df=pd.DataFrame([{'a':'sjdfb','b':'jsfubs'},{'a':'ouhbsdv','b':'cm osdn'}]) #Random data jsonresult1=df.to_json(orient='records') # '[{"a":"sjdfb","b":"jsfubs"},{"a":"ouhbsdv","b":"cm osdn"}]'但是我希望数据只是字典的字符串表示形式,而不是列表.所以我尝试了这个:>>>jsonresult2=df....

相同len()的两列中的value_counts()不同的Python Pandas【代码】

我有一个熊猫数据框,其中包含两列,分别是跟踪号[col_1]和ID号[col_2].跟踪编号可以重复,ID编号也可以重复-但是,每个跟踪& ID应该仅对应于相邻列中的特定同伴. 我的两列中的每一列都具有相同的长度,但是具有不同的唯一值计数,该计数应该相同,如下所示:in[1]: Trace | ID1 | 50542 | 82913 | 93234 | 9323... |100 | 8928in[2]: print('unique traces: ', df['Trace'].value_counts())print('unique IDs: ', ...

python-Pandas DataFrame:查找两列相等/相同的特定长度序列的索引值【代码】

我有一个熊猫DataFrame,其定义如下:# -*- coding: utf-8 -*- import datetime as dt import pandas as pddata = [[1, 1], [1, 1], [2, 2], [2, 2], [2, 2], [3, 3], [4, 4], [4, 4],[4, 4], [5, 5], [5, 5]] df = pd.DataFrame(data, columns=['A', 'B']) df.index = pd.date_range(dt.datetime(2012, 1, 1), periods=len(df), freq='H')print(df)和产量:A B 2012-01-01 00:00:00 1 1 2012-01-01 01:00:00 1 1 2012-01-01 0...

Python:Pandas使用切片的.describe()版本大于0.20【代码】

使用它是因为它很方便. http://nbviewer.jupyter.org/gist/aflaxman/436cde71f85b93638959df = pd.DataFrame({'A': [0,0,0,0,1,1],'B': [1,2,3,4,5,6],'C': [8,9,10,11,12,13]})这用工作! 现在:>>> pandas.__version__ u'0.20.3'df.groupby('A').describe().unstack() .loc[:,(slice(None),['count','mean']),]给出:TypeError: '['count', 'mean']' is an invalid key解决方法:对于列,请删除unstack,因为在0.20.0版本中已将g...

python-使用大型(15 gb)CSV数据集和Pandas / XGBoost

我试图找到一种方法来开始在Pandas中处理非常大的CSV文件,最终能够使用XGBoost进行一些机器学习. 在使用mySQL或某些sqllite框架管理数据块之间,我陷入了困境.我的问题在于稍后的机器学习方面,以及一次加载大块数据以训练模型. 我的另一个想法是使用Dask,它是由Pandas构建的,但也具有XGBoost功能. 我不确定最好的起点是什么,并希望征求意见!我倾向于Dask,但尚未使用.解决方法:This blogpost通过在大型CSV数据集上使用XGBoost的示例...

使用Pandas在Python中对数据框的行子集进行分组【代码】

我从包含30万行的数据集中得到以下数据框:CustomerID Revenue 0 17850.0 15.30 1 17850.0 11.10 2 13047.0 17.85 3 13047.0 17.85 4 17850.0 20.34 5 13047.0 12.60 6 13047.0 12.60 7 13047.0 31.80 8 17850.0 20.34 9 17850.0 15.30 10 13047.0 9.90 11 13047.0 30.00 12 13047.0 31.80 13 12583.0 40.80 14 12583.0 39.60 15 13047.0...

python-使用pandas从多个文件构建矩阵【代码】

在具有2列的目录中有多个文件(20),例如transcript_id value ENMUST001 2 ENMUST003 3 ENMUST004 5每个文件中的行数不同我想做的就是以这种方式将所有20个文件合并到一个巨大的矩阵中transcript_id value_file1 value_file2....value_file20 ENMUST001 2 3 ENMUST003 3 4 ENMUST004 5 0从transcript_id列收集所有id,并从每个文件(文件名作为列名)中收集对应的值,如果没有值,则使用0. 我试图用熊猫来做到...

在Python Pandas数据框中拆分列【代码】

如何通过列中的变量名称拆分pandas DataFrame中的列?我下面有一个DataFrame:ID FEATURE PARAM VALUE 0 A101 U1 ITEM1 10 1 A101 U1 ITEM2 11 2 A101 U2 ITEM1 12 3 A101 U2 ITEM2 13 4 A102 U1 ITEM1 14 5 A102 U1 ITEM2 15 6 A102 U2 ITEM1 16 7 A102 U2 ITEM2 17我想将其拆分如下.ID FEATURE ITEM1 ITEM2 0 A101 U1 10 11 1 A101 U2 12 ...

python-使用pandas to_csv仅引用必需的列【代码】

我需要使用pandas to_csv函数生成一个csv.我尝试了quote = csv.QUOTE_NONNUMERIC.但是对于日期时间列之一,我不需要双引号. 有没有一种方法可以选择我们想要双引号的列?解决方法:谢谢大家我得到了答案,所以只想分享一下. 首先,我得到要引用的标头列表,并将它们循环如下:for col in quoteColumnsList:df[col] = '"' + df[col] + '"'这里我的quotechar是’“’.现在我使用了to_csv,其引用参数为csv.QUOTE_NONE.这样,我们只将双引号添...

python-Pandas DataFrame:测试是否设置了索引【代码】

我有一个带有多个列的DataFrame,其中一列是datetime类型.有时,此列通过df.set_index(…)用作索引. 在其他情况下,我需要重置该索引以保留datetime列.现在,我正在寻找一种方法来检查数据框是否具有默认索引.我试过了,但这不适用于所有情况:if df.index.name is not None:df.reset_index(inplace=True)我可以测试索引的类型是否为datetime,但是我真的想知道是否存在像df.is_index_set()这样的常规方法.有什么建议吗?解决方法:您不应...

分组 - 相关标签