Tag: numpy

Python Openpyxl挑选单元格以开始打印numpy数组

所以我刚开始使用openpyxl,我试图打印我的numpy数组到特定的单元格。 我能够从第一个单元格开始打印数组(见下面的代码),但不知道如何select一个单元格来开始打印。 在我的例子中,我将列表转换为一个numpy数组,因为我的工作软件输出一个numpy数组。 exlist = numpy.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]) wb = Workbook() dest_filename = 'scrappaper3.xlsx' ws1 = wb.active ws1.title = 'scrap3' for x in xrange(exlist.shape[1]): ws1.append(exlist[:,x].tolist()) wb.save(filename=dest_filename) 输出从单元格A1开始,但要指定要输出的第一个单元格 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 我尝试使用类似于下面的代码从openpyxl的例子,但我不知道如何configuration它,因为我得到一个错误,说它不能转换为Excel。 ws1.cell(column=col, row=row).value = exlist

使用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技能,也不知道我能否完成这个任务

噪音最大的公约数

我有一组数据,如下所示。 数字是未知值X的整数倍。例如:1466 = N * X,但N和X都有噪声,所以N可能不是一个完美的整数。 如果我对数据进行sorting和绘图,它看起来像是一个步骤序列,缺less一些步骤(在一个更大的数据集中)。 任何想法如何解决这个问题? 1466 4466 5671 6131 6246 7123

无法使用MATPLOTLIB从EXCEL PLOT多个数据

我有一个1000行和300列的Excel文件。 我想绘制(第1列)vs(第2列到第288列); 我的第一列是我的X轴,其余的列在Y轴上。 我的代码在下面; 我没有显示。 没有错误信息。 from openpyxl import load_workbook import numpy as np import matplotlib.pyplot as plt wb = load_workbook('CombinedData1.xlsx') sheet_1 = wb.get_sheet_by_name('CombinedData') x = np.zeros(sheet_1.max_row) y = np.zeros(sheet_1.max_row) a = np.zeros(sheet_1.max_column) b = np.zeros(sheet_1.max_column) print (sheet_1.max_row) print (sheet_1.max_column) for i in range(0, sheet_1.max_row): for j in range(1, 7): x[i] = sheet_1.cell(row=i + 1, […]

如何基于python中的多个条件重复数据删除excel文件?

我有一个Excel文件( 附在这里 )。 我必须对两个或更多的重复ID进行重复数据删除。 扣除标准是基于多个因素。 ID types 时间 现在,我手动关注重复数据的过程是: 我按照升序排列id。 我为tid开头的每个id设置Attribute。 我把id的每一个[id]的xid列。 如果有重复的[id](如果两个连续[id]的date相同),我有时会留下一个空白。 对于每个重复的ID,我首先检查types,如果它是茶或咖啡。 如果一个人是咖啡,而另一个人是茶,我们总是喜欢咖啡,并将茶的属性设置为“否”。 我们可以得到两个以上的重复,所以我们必须为所有的茶都设置“否”。 如果我们得到两杯咖啡和一杯相同的茶,那么我们会根据时间保留最新的一杯。 如果重复的ID具有相同的types,那么我们将查看date,并将旧的date的属性设置为“否”。 如果date相同,那么我们将保留一个,并将其他属性设置为“否”。 身份证可以超过两个,但过程将是相同的。 我想要做的是: 将属性设置为以t开头的ID的tid。 将属性设置为具有[]的ID的xid。 如果两个或两个以上的ID根据特定的条件重复,请在属性中设置“否”: 咖啡应该比茶更受欢迎。 如果在重复的ID有茶和咖啡的types,每个重复的ID把每个茶放在属性中。 如果我们为每个重复ID都有一杯茶和两杯咖啡,那么我们将根据时间设置“否”,以确保剩余的咖啡(旧时间戳的ID应为No.) 如果我们对每个重复的ID都有相同的types,那么根据时间应该保持最新的ID,对于所有其他属性应该是No。 如果我们对所有重复的ID都有相同的date和相同的types,那么我们将随机设置除了一个以外的所有对象。 注意: 重复的一,二和三是我们很容易只是过滤出颜色,然后重复数据删除。它们基于Excel公式:(重复1 =(= IF(B2 = B3,1,“”),Duplicate2 =(= IF(C1 = 1,1,“”),Duplicate3 =(= IF(SUM(C2:D2)> = 1,1,“”)) 我们不能删除行。 我找不到任何代码,这是我在一个关键的自动化过程中的拦截器。 附件中属性栏中有No / xid / tid,供参考。 重要问题:使用python甚至可能或可行吗?

不能将<function array_str at 0x02F1E978>转换为Excel

即使我试图将所有东西都转换成对象或string,我仍然得到上面的错误。 df['temp'] = df['Date'].apply(lambda x: x.strftime('%m/%d/%Y')) nd = df['Date'].unique() nd = np.array_str 我想获得df的Date列中的唯一值作为列标题。 我想要这个值显示为MM / DD / YYYY。 Python中的结果显示为“0x02F1E978”。 应该是09/25/2017,我可以把文件写入Excel。 import pandas as pd import numpy as np from datetime import date, datetime path = 'C:/Users/tnguy075/Desktop/Inventory Valuation/' file1 = 'AH_INDY_COMBINEDINV_VALUE_TIDL.xlsx' file2 = 'DailyInventoryVal.xlsx' df = pd.read_excel(path+file1, skiprows=1, dtype={'Valuation': np.float64}, parse_dates=['Date']) #open the daily data df['temp'] […]

在Python中的数据框列中添加产品的数量

我正在努力计算在包含产品标题的Excel表格中,在Numpy / Pandas的帮助下的权重总和。 我已经设法加载到一个数据框,并隔离包含我正在寻找的特定产品的行: dframe = xlsfile.parse('Sheet1') dfFent = dframe[dframe['Product:'].str.contains("ABC") == True] 但是,由于问题明显的复杂性,我似乎无法find总结权重的方法(如下所示)。 例如。 如果“产品名称”列包含像“ 1克ABC 纯度为98%,12克ABC 0.25公斤ABC粉末 ABC 5gr 在哪里,ABC是我想要加起来的产品。 有没有什么办法可以把这些重量加起来总共达到268克。 指向解决scheme的任何帮助或资源将不胜感激。 谢谢! 🙂

分组,分类,pandas累计总和

我正在从excel Countifs / Sum转换到Pandas。 在Pandas中,我希望对某些input数据进行分组,累积和,然后将其作为输出表写入csv。 我的input表是每个项目发生时间标记的项目列表,如: import pandas as pd df_in = pd.DataFrame({ 'Date' :[pd.Timestamp('20130101'),pd.Timestamp('20140101'),pd.Timestamp('20150101'),pd.Timestamp('20160101'),pd.Timestamp('20160101'),pd.Timestamp('20160101')], 'Type' : ['item1','item2','item2','item1','item1','item1'], 'Proj' : ['PJ1','PJ1','PJ1','PJ1','PJ2','PJ2']}) #giving Proj Date Type PJ1 2013-01-01 item1 PJ1 2014-01-01 item2 PJ1 2015-01-01 item2 PJ1 2016-01-01 item1 PJ2 2016-01-01 item1 PJ2 2016-01-01 item1 我想在一系列用户定义的时间窗口中对每个项目的每个项目types进行累计总和(最后,我希望每个项目在一个时间段(月,季度,年度等)实现的累计项目数量。 我的输出(binned到结束date)应该看起来像 Proj Date_ item1 item2 PJ1 2014-01-01 1.0 1.0 PJ1 2016-01-01 […]

用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

Python中的条件平均值

我有一个问题操纵我的Excel中的Python文件。 我有一个大型的Excel文件,数据按date/时间排列。 我希望能够在一天中的特定时间,在所有不同的日子里平均数据; 即。 创造1天以上的气体浓度平均值。 这里是我的Excel文件的示例: Decimal Day of year Decimal of day Gas concentration 133.6285 0.6285 46.51230 133.6493 0.6493 47.32553 133.6701 0.6701 49.88705 133.691 0.691 51.88382 133.7118 0.7118 49.524 133.7326 0.7326 50.37112 基本上我需要一个函数,比如excel中的AVERAGEIF函数,它会显示类似于“当decimal_of_day = x时平均gas_concentrations ”但是我真的不知道该怎么做。 目前我已经得到了这个 import xlrd import numpy as np book= xlrd.open_workbook('TEST.xlsx') level_1=book.sheet_by_index(0) time_1=level_1.col_values(0, start_rowx=1, end_rowx=1088) dectime_1=level_1.col_values(8, start_rowx=1, end_rowx=1088) ozone_1=level_1.col_values(2, start_rowx=1, […]