【python – Pandas – 删除除了另一列中值最高的行之外的重复行】教程文章相关的互联网学习教程文章

使用python pandas使用新数据框附加现有excel表【代码】

我目前有这个代码.它完美地运作. 它循环遍历文件夹中的excel文件,删除前两行,然后将它们保存为单独的excel文件,它还将文件保存在循环中作为附加文件. 目前,每次运行代码时附加的文件都会覆盖现有文件. 我需要将新数据附加到已经存在的Excel工作表的底部(‘master_data.xlsx)dfList = [] path = 'C:\\Test\\TestRawFile' newpath = 'C:\\Path\\To\\New\\Folder'for fn in os.listdir(path): # Absolute file pathfile = os.path.jo...

python – 在pandas中的数据框中查找非数字行?【代码】

我在pandas中有一个大型数据框,除了用作索引的列之外,它应该只有数值:df = pd.DataFrame({'a': [1, 2, 3, 'bad', 5],'b': [0.1, 0.2, 0.3, 0.4, 0.5],'item': ['a', 'b', 'c', 'd', 'e']}) df = df.set_index('item')如何找到数据框df中包含非数字值的行? 在这个例子中,它是数据帧中的第四行,在a列中有一个字符串’bad’.如何以编程方式找到这一行?解决方法:您可以使用np.isreal来检查每个元素的类型(applymap将函数应用于DataF...

python – 根据列名重新排序pandas数据帧中的列【代码】

参见英文答案 > How to change the order of DataFrame columns? 26个我有一个包含200多列的数据框.问题在于订单生成了['Q1.3','Q6.1','Q1.2','Q1.1',......]我需要按如下方式重新排序列:['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]我有办法在Python中做到这一点吗?解决方法: df = df.reindex(sorted(df.columns), axis=1)这假设对列名称进行排序将给出所需的顺序.如果您的列名不会按字典顺序...

python – 按整数索引选择一行pandas系列/ dataframe【代码】

我很好奇为什么不支持df [2],而df.ix [2]和df [2:3]都有效.In [26]: df.ix[2] Out[26]: A 1.027680 B 1.514210 C -1.466963 D -0.162339 Name: 2000-01-03 00:00:00In [27]: df[2:3] Out[27]: A B C D 2000-01-03 1.02768 1.51421 -1.466963 -0.162339我希望df [2]以与df [2:3]相同的方式工作,以与Python索引约定保持一致.是否存在不支持单个整数索引行的设计原因?解决方法:回应@HYRY,请参...

python – Pandas:dropna之后的inplace rename的特殊性能下降【代码】

我在pandas issues报告了这个问题.与此同时,我发布此处希望节省其他时间,以防他们遇到类似的问题. 在分析需要优化的进程时,我发现重命名列不在适当位置可以提高x120的性能(执行时间).分析表明这与垃圾收集有关(见下文). 此外,通过避免使用dropna方法来恢复预期的性能. 以下简短示例演示了因子x12:import pandas as pd import numpy as np就地=真%%timeit np.random.seed(0) r,c = (7,3) t = np.random.rand(r) df1 = pd.DataFrame...

python – 根据涉及len(string)给出KeyError的条件表达式从pandas DataFrame中删除行【代码】

我有一个pandas DataFrame,我想从中删除行,其中特定列中字符串的长度大于2. 我希望能够做到这一点(每this answer):df[(len(df['column name']) < 2)]但我得到错误:KeyError: u'no item named False'我究竟做错了什么? (注意:我知道我可以使用df.dropna()来删除包含任何NaN的行,但是我没有看到如何根据条件表达式删除行.)解决方法:当你执行len(df [‘column name’])时,你只得到一个数字,即DataFrame中的行数(即列本身的长度).如...

python – 与Pandas Datetime列分开提取Month和Year【代码】

我有一个Dataframe,df,包含以下列:df['ArrivalDate'] = ... 936 2012-12-31 938 2012-12-29 965 2012-12-31 966 2012-12-31 967 2012-12-31 968 2012-12-31 969 2012-12-31 970 2012-12-29 971 2012-12-31 972 2012-12-29 973 2012-12-29 ...该列的元素是pandas.tslib.Timestamp. 我想要包括年份和月份.我认为会有简单的方法,但我无法弄清楚. 这是我尝试过的:df['ArrivalDate'].resample('M', how = 'mean...

python – 替换pandas DataFrame中的列值【代码】

我正在尝试替换数据帧的一列中的值.列(“女性”)仅包含“女性”和“男性”的值. 我尝试过以下方法:w['female']['female']='1' w['female']['male']='0' 但是收到以前结果的完全相同的副本. 理想情况下,我希望获得一些类似于以下循环元素的输出.if w['female'] =='female':w['female'] = '1'; else:w['female'] = '0';我查看了陷阱文档(http://pandas.pydata.org/pandas-docs/stable/gotchas.html),但无法弄清楚为什么没有发生. 任...

python – 将unix时间转换为pandas dataframe中的可读日期【代码】

我有一个包含unix时间和价格的数据框.我想转换索引列,以便在人类可读日期中显示. 因此,例如我在索引列中的日期为1349633705,但我希望它显示为10/07/2012(或至少10/07/2012 18:15). 对于某些上下文,这里是我正在使用的代码以及我已经尝试过的代码:import json import urllib2 from datetime import datetime response = urllib2.urlopen('http://blockchain.info/charts/market-price?&format=json') data = json.load(response) ...

python – pandas loc vs. iloc vs. ix vs. at vs. iat?

最近开始从我的安全地点(R)扩展到Python,并且对Pandas中的细胞定位/选择感到有些困惑.我已经阅读了文档,但我很难理解各种本地化/选择选项的实际意义. >我有理由将.loc或.iloc用于最常用的选项.ix吗?>我明白.loc,iloc,at和iat可以提供.ix无法提供的一些保证的正确性,但我也读过.ix往往是最快的解决方案.>请解释使用除.ix以外的任何东西背后的现实世界,最佳实践推理?解决方法:loc:仅适用于索引iloc:在位置上工作ix:您可以从数据...

python – 在pandas数据帧中自定义排序【代码】

我有python pandas数据帧,其中一列包含月份名称. 如何使用字典进行自定义排序,例如:custom_dict = {'March':0, 'April':1, 'Dec':3} 解决方法:Pandas 0.15引入了Categorical Series,它允许更清晰的方式来执行此操作: 首先使月份列成为分类,并指定要使用的顺序.In [21]: df['m'] = pd.Categorical(df['m'], ["March", "April", "Dec"])In [22]: df # looks the same! Out[22]:a b m 0 1 2 March 1 5 6 Dec 2 3 ...

python – 使用值列表从pandas数据框中选择行【代码】

参见英文答案 > How to implement ‘in’ and ‘not in’ for Pandas dataframe 7个> Filter dataframe rows if value in column is in a set list of values 7个假设我有以下pandas数据帧:df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]}) dfA B 0 5 1 1 6 2 2 3 3 3 4 5我可以根据特定值进行子集化:x = df[df[...

python – 检测并排除Pandas数据帧中的异常值【代码】

我有一个包含少量列的pandas数据帧. 现在我知道某些行是基于某个列值的异常值. 例如列 – ‘Vol’的所有值都大约为12xx,一个值为4000(异常值). 现在我想排除那些有’Vol’列的行.因此,基本上我需要在数据框上放置一个过滤器,以便我们选择所有行,其中某列的值在与平均值相差3个标准差的范围内. 实现这一目标的优雅方式是什么?解决方法:如果数据框中有多个列,并且想要删除至少有一列中具有异常值的所有行,则以下表达式将一次性执行此...

python – 从字符串创建Pandas DataFrame【代码】

为了测试一些功能,我想从字符串创建一个DataFrame.假设我的测试数据如下:TESTDATA="""col1;col2;col3 1;4.4;99 2;4.5;200 3;4.7;65 4;3.2;140 """将数据读入Pandas DataFrame的最简单方法是什么?解决方法:一种简单的方法是使用StringIO.StringIO (python2)或io.StringIO (python3)并将其传递给pandas.read_csv函数.例如:import sys if sys.version_info[0] < 3: from StringIO import StringIO else:from io import StringIOimp...

python – pandas三向连接列上的多个数据帧【代码】

我有3个CSV文件.每个都有第一列作为人的(字符串)名称,而每个数据框中的所有其他列都是该人的属性. 如何将所有三个CSV文档“连接”在一起以创建单个CSV,每行具有该人员字符串名称的每个唯一值的所有属性? pandas中的join()函数指定我需要一个多索引,但我对层次索引方案与基于单个索引的连接有什么关系感到困惑.解决方法:假定进口:import pandas as pdJohn Galt’s answer基本上是一种减少操作.如果我有一些以上的数据帧,我会将它们...