Tag: pandas

python – 出口多指标pandas数据框到Excel

我正在从这个(封闭的)GitHub问题尝试下面的例子: https : //github.com/pandas-dev/pandas/issues/2701 import pandas as pd m = pd.MultiIndex.from_tuples([(1,1),(1,2)], names=['a','b']) df = pd.DataFrame([[1,2],[3,4]], columns=m) df.to_excel('test.xls') 当我打开test.xls ,第3行有一个空行: 来自GitHub的示例图像没有这个空行: 这是一个错误? 有没有解决方法可用于编写多索引数据框到Excel? 我宁愿不去CSV的路线,因为pandas会为我做的合并和中心。 在Ubuntu 14.04和Windows 10上使用pandas版本0.19.2。

有人可以帮助我在Python上创build等效的SUMIFS函数吗?

我上周基本上select了Python,虽然我现在正在学习基础知识,但是我一直被授权在工作中使用python构build一个小程序。 并会感谢一些帮助。 我想创build一个类似于Excel版本的SUMIFS函数。 我的数据包含现金stream量date(CFDATE),投资组合名称(PORTFOLIO)和现金stream量(CF)。 我想根据它属于哪个投资组合,并基于它所属的date来总结CF. 我设法使用下面的代码来实现这一点,但是我很努力地输出我的结果作为一个数组/表,其中标题行包含所有的投资组合,最初的列是date列表(删除重复)和CF根据(CFDATE,PORTFOLIO)的每种组合进行分组。 例如期望的输出:PORTFOLIO->'A''B''C'CFDATE '30 / 09/2017'300 600 300 '31 / 10/2017'300 0 600 迄今使用的代码: from pandas import Series,DataFrame from numpy import matrix import numpy as np import pandas as pd df = DataFrame(pd.read_csv("…\Test.csv")) portfolioMapping = sorted(list(set(df.PORTFOLIO))) cfDateMapping = list(set(df.CFDATE)) for i in range(0,len(portfolioMapping)): dfVar = df.CF * np.where(df.PORTFOLIO == portfolioMapping[i] , […]

根据三列(或更多)的密钥search阈值

我需要帮助像这样的数据集: Name1 Name2 Name3 Temp Height Alon Walon Balon 105 34 ] Alon Walon Balon 106 42 | Alon Walon Balon 105 33 ]– Samples of Spot: Alon-Walon-Balon Alon Walon Kalon 101 11 ] Alon Walon Kalon 102 32 ]– Samples of Spot: Alon-Walon-Kalon Alon Talon Balon 111 12 ]– Samples of Spot: Alon-Talon-Balon Alon […]

根据stringsearch删除df的最后一行

我从Excel文件导入,需要删除基于string值的最后一行。 在这种情况下,我需要在第65行的date结束。 最后一个(可预测的)行将是包含string“Net Account”less于5行的行。 是否可以只selectdate格式的行? 不知道哪个是最好的方法来处理这个? 60 2011-08-31 00:00:00 285085 0 0 0 61 2011-09-30 00:00:00 273926 0 0 0 62 2011-10-31 00:00:00 287235 0 0 0 63 2011-11-30 00:00:00 284034 0 0 0 64 2011-12-31 00:00:00 284974 0 0 0 65 2012-01-31 00:00:00 294412 0 0 0 66 NaN NaN NaN NaN NaN 67 […]

使用python从excel工作表中提取和处理数据

场景:我想出来一个Python代码读取给定文件夹中的所有工作簿,获取每个数据,并将其放到一个数据框(每个工作簿成为一个数据框,所以我可以单独操纵它们)。 问题1:使用此代码,即使我正在使用正确的path和文件types,我不断收到错误: File "<ipython-input-3-2a450c707fbe>", line 14, in <module> f = open(file,'r') FileNotFoundError: [Errno 2] No such file or directory: '(1)Copy of Preisanfrage_17112016.xlsx' 问题2:我创build不同数据框的原因是每个工作簿都有一个单独的格式(行是我的标识符,列是date)。 我的问题是,这些工作簿中的一些工作表上有一个名为“closures”,或“打开”或没有指定的名称表的数据。 所以我会尝试单独configuration每个dataframe,然后再join它们。 问题3:考虑到dataframe数据已经统一后的最终输出,我的目标是以如下格式输出它们: date 1 identifier 1 value date 1 identifier 2 value date 1 identifier 3 value date 1 identifier 4 value date 2 identifier 1 value date 2 identifier 4 […]

Python的pandas数据框连接和按function分组

我有在Excel中的数据如下 category size1 size2 size3 cat1 10 20 30 cat2 20 10 15 cat3 30 20 10 我想要两个报告/ excel输出如下 #1) Category-sizetype-value cat1 size1 10 cat1 size2 20 cat1 size3 30 cat2 size1 20 … #2) Category-size-value-value counts(ie how many time specific size value appears) cat1 size1 10 3 times cat1 size2 20 2 times cat1 […]

分别为pandas中的列标题创build一个参数数组

我有一个在Excel中的表格和参数头的数字。 看起来像这样,我只需要使用从A到E的单元格(并忽略所有其他单元格)。 正如你所看到的,F在标题行中,但我需要select特定的单元格进行迭代(如上所述)。 ABCDEF 1 50 30 10 5 1 String 2 Oval, Round NaN Irregular Nan Nan String2 3 Circumscribed NaN Nan Nan Obscured, Microlobulated 4 High density NaN Equal Nan Fat-containing 我需要分别创build两个数组到cols头。 例如,如果它是第二行,我需要有一个输出为两个数组: prob_arr = [50, 50, 10] val_arr = ['Oval', 'Round', 'Irregular'] 而对于第三排应该是: prob_arr = [50, 1, 1] val_arr = ['Circumscribed', 'Obscured', […]

自动化直方图以改变excel文件

我正在写一些代码,我需要一些帮助。 我写的代码(在下面发表)必须做几件事情,首先它应该能够创build一个直方图(它),从一个文件,它读取和相应的bin。 所以这里是我需要一些帮助,1)我需要find一种方法来改变我的宽度任意的宽度(deltaT),而不必每次硬编码,2)我需要一些帮助能够运行导入到python的不同excel文件的代码,并将它们导出为不同的excel文件。 我相信,我不太确定自己对编码很陌生,所以我正在处理的是一个Dataframe。 码: import pandas as pd import numpy as np import matplotlib.pyplot as plt import openpyxl from pandas import ExcelWriter data = pd.read_excel('/Users/user/Desktop/Data/Book1.xlsx') counts, bins, patches = plt.hist(data.values, bins=range(0, int(max(data.values)+5), 5)) df = pd.DataFrame({'bin_leftedge': bins[:-1], 'count': counts}) plt.title('Data') plt.xlabel('Neuron') plt.ylabel('# of Spikes') plt.show() writer = pd.ExcelWriter('/Users/user/Desktop/Data/output.xlsx') df.to_excel(writer,'Sheet2') writer.save() 我试着读取另一个excel文件,如下所示: data2 = pd.read_excel('/Users/user/Desktop/Data/Book2.xlsx') […]

将带有不良字符的Excel导入Python

我有~300 .xls文件,我需要导入到Python。 我已经尝试过xlrd和pandas read_excel,并且都以“不支持的格式或损坏的文件:期望的BOFlogging;发现='XS1351'”导入失败。 每张纸上大约一半的栏目都有引号,并且等号=“THISFORMAT” 另一半没有引号或特殊字符。 任何帮助深表感谢

如何将工作表转换为Pandas中的数据框架?

我正在尝试从pandas的Python工作簿中读取不同的工作表。 当我阅读整个工作簿,然后我想应用一个.merge()时,第一个工作表被读取,但其他人不考虑。 我试图读取工作簿的每个工作表,但我猜他们没有成功转换为数据框,因为当我应用.merge()我最终以下错误: ValueError: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'> 这是我迄今为止所做的: 此代码用于将整个工作簿转换为数据框,但只处理第一个工作表的数据 import pandas as pd import pypyodbc #sql extractor start_date = date.today() retrieve_values = "[DEV].[CS].[QT_KPIExport] @start_date='{start_date:%Y-%m-%d}'".format( start_date=start_date) connection = pypyodbc.connect(driver="{SQL Server}", server="xxx.xxx.xxx.xxx", uid="X",pwd="xxx", Trusted_Connection="No") data_frame_sql = pd.read_sql(retrieve_values, connection) #Read the entire workbook wb_data = pd.ExcelFile("C:\\Users\\Dev\\Testing\\Daily_Data\\NSN-Daily Data Report.xlsx") #Convert to a dataframe […]