Tag: pandas

查找列表的范围并将其用作Python中的参数

我正在尝试使用列表的范围,特别是col_test,然后我想使用该范围来指定要在新的工作表上填充的单元格。 我希望列表col_test从第6行开始填充新表中的第二列。 在这里,我试图使用“写”function来做到这一点,但我不知道使用正确的参数。 import os import glob import pandas as pd for csvfile in glob.glob(os.path.join('.', '*.csv')): df = pd.read_csv(csvfile) col_test = df['Test #'].tolist() col_retest = df['Retest #'].tolist() from xlrd import open_workbook from xlutils.copy import copy rb = open_workbook("Excel FDT Master_01_update.xlsx") wb = copy(rb) s = wb.get_sheet(3) s.write(range_of_col_test, col_test) wb.save('didthiswork.xls')

如何将带有NaN的合并Excel单元格读入Pandas DataFrame

我想读一个Excel工作表到Pandas DataFrame。 但是,有合并Excel单元格以及Null行(完整/部分NaN填充),如下所示。 为了澄清,John H.命令将“The Bodyguard”中的所有专辑都购买到“Red Pill Blues”。 当我将这张Excel表格读入Pandas DataFrame时,Excel数据无法正确传输。 pandas认为一个合并的细胞是一个细胞。 DataFrame看起来像下面这样:( 注意:()中的值是我想要的值) 请注意,最后一行不包含合并的单元格; 它只为Artist列提供一个值。 编辑:我没有尝试以下向前填写的NaN值:( pandas:阅读与合并单元格的Excel ) df.index = pd.Series(df.index).fillna(method='ffill') 但是, NaN值依然存在。 我可以使用什么策略或方法来正确填充DataFrame? 有没有一个pandas的方法,取消细胞和复制相应的内容?

如何保存我在Excel工作表上所做的更改?

我以这种方式阅读Excel工作表: import pandas as pd xl = pd.ExcelFile("Path\file_name.xlsx") xl.parse("Sheet_name") 现在我做了一些改变,例如我填充所有空string“NA” df = df.fillna("NA") 现在我想写回原来的Excel文件的变化…

从pandas数据框的列索引中获取string列表

首先,我的.xlsx时间序列数据如下所示: 这是我如何阅读它: def loaddata(filepaths): t1 = time.clock() for i in range(len(filepaths)): xl = pd.ExcelFile(filepaths[i]) df = xl.parse(xl.sheet_names[0], header=0, index_col=2, skiprows=[0,2,3,4], parse_dates=True) df = df.dropna(axis=1, how='all') df = df.drop(['Decimal Year Day', 'Decimal Year Day.1', 'RECORD'], axis=1) df.index = pd.DatetimeIndex(((df.index.asi8/(1e9*60)).round()*1e9*60).astype(np.int64)).values if i == 0: dfs = df else: dfs = concat([dfs, df], axis=1) t2 = time.clock() print […]

用Python生成数据透视表 – pandas? NumPy的? Xlrd? 来自csv

我一直在寻找几个小时,直到整天如何在Python中生成数据透视表。 我对python很新,所以请忍受我。 我想要的是采取一个csv文件,提取第一列,并使用该列中的数字的数量或频率生成数据透视表,并降序sorting import pandas import numpy from numpy import recfromtxt a = recfromtxt('1.csv', skiprows=1, usecols=0, delimiter=',') print a ^我在这里得到的是第一列的列表[2 2 2 6 7] 我需要的是2列的出口 2-3 6–1 7–1

使用pandas数据框中的多个行或列值进行计算

我对excel感到如此舒适的原因之一是我可以轻松地传递一系列值或数组,并在计算中使用一个或多个这些值。 例如说我有数组[1,2,1,5,7,10,6,20,12,7,4] 我可能想要计算: 连续的向上或向下序列的数量,例如1-2将是1,因为2大于1。 在5,7,10的情况下,我想把这个顺序计为2,(5到7)和(7到10) 我还想计算一下实际上对序列产生影响的范围或值,以及它们发生的位置,例如(6到10)只有1个连续向上,因为这个移动是14( 20-6)。 就序列发生的时间而言,我想logging数组索引位置,或者可能附加到另一列中的数字的date。 使用excel,我将这个数组传递给一个函数,并说如果元素(0)>元素(1)移动到元素2和3等等,然后当我logging的价值下降的负方向我sum那些价值。 或者如果我是以单元格的forms来做的话,我可以说如果(活动单元格的值)是负数,那么在使用.offset之前将两者相加。 不过,我不知道如何使用pandas来获得一个行或一列中的两个或更多的值,就像我使用偏移一样? 很多谢谢,乔希。 更新>>感谢您的更新,我会添加更多的细节 基本上每个产品都有一套价值,而且我有多个产品,产品在一列中,与产品相关联的是多个参考价格的数字。 此刻,我的桌子有如下的布局,但同一个产品可能会出现在多行,因为它在不同的date出售: “ |product | price | | Product A | 1 | | Product B | 2 | | Product C | 1 | | Product D | 5 | | Product E | 7 | | Product F | 10 […]

打开Excel文件时Pandas IndexError

无论我做什么 – 不pipe我使用什么Excel文件,我都无法打开它们。 这是工作之前…我做什么: import pandas as pd xls = pd.ExcelFile('Book1.xls') xls.parse('Sheet1', index_col=0, na_values=['None']) 或者也是 pd.read_excel('Book1.xls', 'Sheet1', index_col=0, na_values=['None']) 我得到: IndexError Traceback (most recent call last) <ipython-input-35-a09cadf6215b> in <module>() 2 xls = pd.ExcelFile('Book1.xls') 3 #test = xls.parse('SFH', index_col=0, na_values=['None']) —-> 4 pd.read_excel('Book1.xls', 'Sheet1', index_col=0, na_values=['None']) /Users/xy/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/io/excel.pyc in read_excel(io, sheetname, **kwds) 101 engine = kwds.pop('engine', None) […]

导入的Excel文件在大pandas中的MultiIndex问题

我导入了一张Excel文件并在pandasDataFrame中parsing。 path = 'bla.xls' x = pd.ExcelFile(path) sheets = x.sheet_names table = x.parse(sheets[36], header=2) 这似乎工作和DataFrame对象具有预期的MultiIndex指数: In[180]: table.index Out[180]: MultiIndex(levels=[[u'Gesamt', u'Studiengang Hochschulbenennung'], [u'Bekleidungstechnik', u'Betriebswirtschaft', u'Biomedical Engineering', u'Ernährungs- und Hygienetechnik', u'Facility Management', u'Kommunikations- und Softwaretechnik', u'Lebensmittel, Ernährung, Hygiene', u'Maschinenbau', u'Pharmatechnik', u'Systems Engineering', u'Textil- und Bekleidungsmanagement', u'Wirtschaftsinformatik', u'Wirtschaftsingenieurwesen', u'Wirtschaftsingenieurwesen – Produktionsmanagement insbes. Fahrzeugwirtschaft'], [u'% innerhalb von Studiengang Hochschulbenennung', […]

pythonpandas公式到dataframe

我正在用一堆计算创build数据框,并使用这些公式(计算)添加新列。 然后我将数据框保存到一个Excel文件。 保存文件并重新打开文件后,我失去了公式。 例如,我正在使用类似于:total = 16 for s in range(total): df_summary['Slopes(avg)' + str(s)]= df_summary[['Slope_S' + str(s)]].mean(axis=1)*df_summary['Correction1']/df_summary['Correction2'].mean(axis=1) 我怎样才能确保这个公式出现在我写的excel文件中,类似于我们在Excel工作表中的公式?

如何保存to_excel()和read_excel()之间的pandas多指数?

根据read_excel的pandas文档,我可以将索引列名称放在一个单独的行上,然后该方法将使用哪些列作为索引。 我想从一个多索引的数据框中创build一个Excel文件,这个数据框可以这样读取,但是我不知道如何让大pandas写入to_excel ,使得这个额外的行被创build索引dataframe)。 我无法想象将一个多索引的数据框存储为一个Excel工作表,然后在以后把它拉回来是一个罕见的用例,所以我想知道如果我只是没有想出如何做到这一点。 下面是一个我想在Excel中“冻结”的数据框的示例,而不必告诉read_excel哪些列是索引: ipdb> my_df Date Amount Rec Section Row 0 Top Section 2 2015-05-01 -105.00 1 Middle Section 3 2015-05-04 90247.60 2 Middle Section 4 2015-05-05 -2992.99 3 Bottom Section 5 2015-05-08 -800.00 在我的例子中,有三个索引列:Rec,Section和Row。 当我把这个写到Excel然后再读回来,我不想告诉它这个。 由于read_excel似乎有一个方法,当它们出现在一个单独的行上时,推断索引名称,我想让它找出它(假设我正确地写入Excel文件)。 我错过了什么?