Tag: pandas

使用Python在Excel中使用数据透视表进行报告

我有数据 ID,"address","used_at","active_seconds","pageviews" 0a1d796327284ebb443f71d85cb37db9,"vk.com",2016-01-29 22:10:52,3804,115 0a1d796327284ebb443f71d85cb37db9,"2gis.ru",2016-01-29 22:48:52,214,24 0a1d796327284ebb443f71d85cb37db9,"yandex.ru",2016-01-29 22:14:30,4,2 0a1d796327284ebb443f71d85cb37db9,"worldoftanks.ru",2016-01-29 22:10:30,41,2 但是这么大, Excel不能打开它。 我需要把所有的时间分到不同的星期,并把结果打印到每个address每个id 。 它应该看起来像 ID vk.com 2gis.ru yandex.ru 0a1d796327284ebb443f71d85cb37db9 23 40 56 465a3fc01a62fd89a8094abdaccdcc99 0 100 45 … 我数数到所有的时间 data = pd.read_csv("desktop-visits-dnp.csv") group = data.groupby(['ID', 'address']).active_seconds.sum() 但是我需要把它分成几个星期 但是我没有太多的python技能,也不知道我能否完成这个任务

如何在MS Excel中testing从pandaspython获得的EMA Crossover

指数移动平均值在此链接中解释: http : //www.investopedia.com/terms/e/ema.asp 我已经使用了下面的代码: import pandas_datareader.data as web from datetime import datetime # aapl_df = web.get_data_yahoo('AAPL', datetime(2016, 1, 1), datetime(2016, 03, 31)) aapl_df['SMA5'] = aapl_df['Adj Close'].rolling(window=5,center=False).mean() aapl_df['SMA20'] = aapl_df['Adj Close'].rolling(window=20,center=False).mean() aapl_df['EMA5'] = aapl_df['Adj Close'].ewm(span=5).mean() aapl_df['EMA20'] = aapl_df['Adj Close'].ewm(span=20).mean() #aapl_df['EMA20'] = aapl_df['Adj Close'].ewm(span=20,min_periods=20).mean() # commented to explain the min_periods # Plot price vs various mean […]

pandas – 标题行的绝对值

我有一个问题,阅读一些结构不良的Excel模板。 我打算让我的stream程使用包含4个字段的元数据文件:文件名,types,工作表ID和标题行。 我的进程将读取这个元数据,然后将其传递给pd.read_excel函数,如下所示: pd.read_excel(filename, sheetname=sheet_id, header=header_row, skiprows=header_row) 然而, pandas并不是从header_row获取绝对值,而是(我猜测)试图删除它认为是标题之前的所有空白行 – 这意味着数据框被偏移了一个不同的数量,从模板到模板。 我如何让大pandas用我传入pd.read_excel函数的头文件的绝对值来启动数据pd.read_excel ? 示例代码: import pandas as pd from os.path import join, dirname, abspath def read_worksheet(filename, sheet_id, header_row): df = pd.read_excel(filename, sheetname=sheet_id, header=header_row,skiprows=header_row) return df if __name__=='__main__': meta_filename='document_meta_new.xlsx' output_filename='output.xls' meta_df = read_worksheet(meta_filename,0,0) master_dict={} for row in range(len(meta_df)): filename = meta_df['Filename'][row] sheet = int(meta_df['Sheet ID (zero […]

使用大pandas读取excel时精度的损失

我试图使用pandas来读取一个dataframe的Excel表格,但浮点列,数据读取不正确。 我使用函数read_excel()来完成这个任务 在excel中,值为225789.479905466,而在数据框中,值为225789.47990546614,这导致我从excel导入数据到数据库的差异。 有没有人用pandas.read_exel()面临同样的问题。 阅读csv到数据框我没有问题。 杰里米

使用pandas python从sheet1的数据中将sheet2添加到现有的excelfile中

我正在从网上抓取数据到Excel工作表使用pandas&能够将其保存到工作表1,现在我想要获取列数据到工作表2相同的Excel中。 当我执行代码时,它仍然不会在excelfile中创build新工作表,只是用新名称和所需数据覆盖现有工作表。 我已经创build了两个函数,第一个函数创build所需的数据和函数2的Excel文件来获取列值和创build该列值的新工作表 这是function2 def excelUpdate(): xls_file = pd.ExcelFile('Abc.xlsx') df = xls_file.parse(0) data=[] for i in df.index: x=df['Category'][i] print(df['Category'][i]) data.append(x) table1 = pd.DataFrame(data) table1.to_excel(writer, sheet_name='Categories') writer.save() 另外我想要得到表2中特定类别的计数。请帮助 样本数据 我已经在表2中突出显示了我想要的数据,我希望表2中每个类别的分类名称的数量 Index | AppVersion | Author | **Category** | Description | Rating | Text 0 | 1.15 | Miuwu | **Slow** | Worthless | 1 | Worked […]

我如何使用.xls文件夹和一系列variables名称自动创buildPandas数据框?

我有一个文件夹的文件数量。 我想导入工作表'sheet1'作为一个pandas数据框为他们每个人,分配给该名称的一部分的名称。 我已经成功地获得了一个文件名列表: path = "/Users/path" files = os.listdir(path) files_xls = [f for f in files if f[-3:] == 'xls'] ['A.xls','B.xls'] 我已经成功地创build了一个我希望作为数据框名称的名称列表: names = map(lambda each:each.strip(".xls"), files_xls) ['A','B'] 但是我没有使用这些名称导入。 我可以手动做到这一点: A = pd.read_excel(A.xls, 'sheet1') B = pd.read_excel(B.xls, 'sheet1') etc… 但我不知道如何自动化这个过程。

使用Pandas DataFrame比较两个Excel文件与不同的标题,但相同的行数据

这里我试图比较两个excel文件。 Server_report有42列,Email_report有19列(其中5列与server_report完全不匹配)。 每个报告中有14个列匹配,但具有不同的标题。 当我打开这两个文件时,我会对三列进行sorting,以便将数据按照“交货”,“select数量”,“批量”(按server_report)和“交货”,“采购数量”,“批量select”根据email_reportsorting)。 我需要的是将sorting后的email_report与server_report进行比较(每个文件具有相同数量的行,并且可以在“Delivery”列进行索引)。 如果server_report上存在“缺失”信息,则需要使用从email_report中获取的信息填写。 之后,需要生成两个新文件。 包含所有原始42列的新server_report,其中包含来自email_report的更改。 包含比较过程中所做更改的新文件。 我的问题在这里是这篇文章的标题。 如何能比较两个文件不同的列/标题(不是所有可以映射到另一个)

使用Python的Excel数据

我有一个旧的excel电子表格,有关系数据库types格式的大量数据,有一个主要的主键,我需要通过。 我想比较一些行,但是有很多条目(成千上万行,几十列),Excel并没有真正的内置function来做到这一点。 环顾四周后,我发现提取数据的最佳方式是使用Python脚本,但是在Python或任何语言中我都没有编程技巧。 我需要在键列中查找重复项,然后检查在同一列中是否有重复的行,如果是这样,则将它们合并到一个新行中,然后将新的excel文件/工作表从合并的行中分离出来。 我不知道这听起来是不是太复杂了,我在这里是新来的,所以我做了一些search互联网的研究,看看我是否能find任何脚本来做,但没有真正的运气…这里是最接近的post我发现可能与我想要的有关,但我通常发现的是想要将两个不同的excel文件合并在一起: http://pbpython.com/excel-file-combine.html 试图用Python 2.7将两个Excel文件合并成一个Excel文件 (我有更多的链接,但只能张贴两个。) 基本上我正在寻找重复的行,并希望将它们合并成一个新的文件或电子表格在Excel中,将它们从非愚蠢的东西中分离出来,并把它们全部放回到一起。

如何同时写入不同的excel使用Python

我尝试写入所有文件,我有同时。 我有一些文件 izzymonroe@mail.ru.xlsx, lucky-frog@mail.ru.xlsx, lucky-frog@mail.ru.xlsx, izzymonroe@mail.ru.xlsx, Yubodrova@ya.ru.xlsx, lucky-frog@mail.ru.xlsx, Ant.karpoff2011@yandex.ru.xlsx 9rooney9@list.ru.xlsx 我想写数据到这个。 但我怎么能发送它的function(我需要写入文件的值groupby ) df = pd.read_excel('group.xlsx') def add_xlsx_sheet(df, sheet_name=u'Смартфоны полно', index=True, digits=1, path='9rooney9@list.ru.xlsx'): book = load_workbook(path) writer = ExcelWriter('9rooney9@list.ru.xlsx', engine='openpyxl') writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) if sheet_name in list(writer.sheets.keys()): sh = book.get_sheet_by_name(sheet_name) book.remove_sheet(sh) df.to_excel(writer, sheet_name=u'Смартфоны полно', startrow=0, startcol=0, float_format='%.{}f'.format(digits), […]

整合多个pandas数据框与不可预知的列标题/订单到单个框架或列表

我已经在这个话题上search了很多,并且找不到解决这个特定问题的任何问题。 铌我对编码和python很新。 我正在阅读多个结构相似的excel源数据文件,但列标题是不可预知的,因为顺序可能会更改,某些文件列中的某些列标题会丢失,而其他文件则不会。 import pandas as pd import glob import csv import os outfile = open('./output/output.csv','w') big_df = pd.DataFrame() dataList = [] path = "./files/" #load xlsx files from directory allFiles = glob.glob(os.path.join(path, "*.xlsx")) # loop through each file, finding the right sheet for f in allFiles: try: #read sheet as dataframe and append to […]