Tag: pandas

pandas:从一个大的Excel文件中的每个电子表格生成一个数据框

我有一个大的excel文件,我已经导入pandas,由92张组成。 我想使用循环或某种工具从每个电子表格中的数据(每个电子表格中的一个数据框)生成数据框,这些数据框也会自动命名每个数据框。 我刚刚开始使用pandas和jupyter,所以我不是很有经验。 这是迄今为止的代码: import pandas as pd import matplotlib.pyplot as plt import numpy as np import datetime %matplotlib inline concdata = pd.ExcelFile('Documents/Research Project/Data-Ana/11July-27Dec.xlsx') 我也有一个所有电子表格名称的列表: #concdata.sheet_names 谢谢!

使用行和列编号而不是单元格地址Python编写Excel公式

我目前有以下代码: revenue_stats_feb = pd.DataFrame({'February' :['=D7/D40','=D7/D39','=D7/D37','=D7/D11','=D8/D7', '=D10/D8'], 'merge': [1,2,3,4,5,6]}) revenue_stats_feb = revenue_stats_feb[['February', 'merge']] 我想知道是否可以使用行和列编号而不是单元格地址来编写公式,即'= D7 / D40'将是'=(3,6)/(3,39)',但是当它得到出口到Excel仍然计算为D7 / D40会。 我在这里先向您的帮助表示感谢。

在Python中select正确的值

总体概述: 我正在创build一个大型数据集的graphics,但是我已经创build了一个示例文本文档,以便更容易地克服这些问题。 数据来自Excel文档,将被保存为CSV。 问题: 我能够编译数据,它将图表(见下文)然而,我怎么拉数据将不适用于所有不同的Excel表格,我将要脱离。 更详细的问题: 正在从数字26和31(参见图片和代码)的Excel表中拉出Y值(标记的“值”和“值1”)。 这是一个问题,因为值26和31对于每个图都不相同。 让我们看看这个更有意义。 这是我的代码 import pandas as pd import matplotlib.pyplot as plt pd.read_csv('CSV_GM_NB_Test.csv').T.to_csv('GM_NB_Transpose_Test.csv,header=False) df = pd.read_csv('GM_NB_Transpose_Test.csv', skiprows = 2) DID = df['SN'] Value = df['26'] Value1 = df['31'] x= (DID[16:25]) y= (Value[16:25]) y1= (Value1[16:25]) """ print(x,y) print(x,y1) """ plt.plot(x.astype(int), y.astype(int)) plt.plot(x.astype(int), y1.astype(int)) plt.show() 输出: 数据集: 在下面的评论中,你会发现0bin到我的数据集这是因为我没有足够的声望发布两个链接。 正如你可以从数据集看到的 X- DID […]

如何在Python中使用pandas添加现有的Excel表中的列

import pandas as pd from pandas import ExcelWriter trans=pd.read_csv('HMIS-DICR-2011-12-Manipur-Bishnupur.csv') df=trans[["April 10-11","May 10-11","June 10-11","July 10-11","August 10-11","September 10-11","October 10-11","November 10-11","December 10-11","January 10-11","February 10-11","March 10-11","April 11-12","May 11-12","June 11-12","July 11-12","August 11-12","September 11-12","October 11-12","November 11-12","December 11-12","January 11-12","February 11-12","March 11-12"]] writer1 = ExcelWriter('manipur1.xlsx') df.to_excel(writer1,'Sheet1',index=False) writer1.save() 该代码成功地将数据写入到工作表1中,但是如何将来自不同excel文件(下面提及)的另一个数据框(df)的数据附加到现有工作表(工作表1)“manipur1”excel文件 例如:我的数据框是这样的: trans=pd.read_csv('HMIS-DICR-2013-2014-Manipur-Bishnupur.csv') df=trans[["April 12-13","May 12-13","June 12-13","July 12-13","August 12-13","September 12-13","October 12-13","November 12-13","December 12-13","January 12-13","February 12-13","March 12-13","April […]

pandas数据框与multindex优秀

我试图得到这个 但是我得到这个: 即使没有内容,我得到一个垂直多指标。 这是我正在做的MWE from pandas import DataFrame, MultiIndex, ExcelWriter, Series import numpy.random as rd FILENAME = 'SampleFile.xlsx' writer = ExcelWriter(FILENAME, engine='xlsxwriter') multindex_headers = [['A', 'B', 'C', 'D'], ['A1', 'B2','C3', 'D4']] index = MultiIndex.from_tuples( list(zip(*multindex_headers)), names=['l1','l2']) sampleDF = DataFrame(index=index) sample_info = [rd.randn(4).tolist()]*5 for sample_data in sample_info: sampleDF = sampleDF.append(DataFrame(sample_data, index=index)) sampleDF.to_excel(writer, sheet_name='case') writer.save() 编辑: 我已经实施了transpose()的解决方法,但我想知道是否有正式的方法来解决这个问题: […]

XLSX Writer Python- 3色标,数字为中点

我正在尝试在XLSX书写器中使用3中间值为0的中间值进行条件格式化。 我希望所有的负值从红色(最低数字)到黄色(当数值为零时),所有正数从黄色(零)到绿色(最高)。 当我尝试下面的内容时,缩放比例会全部搞乱 在Excel中看起来像下面的东西: 我可以弄清楚在XLSX编写器中如何做一个3色标,但似乎没有一个选项(我可以看到)中点是一个数字: worksheet.conditional_format('G2:G83', {'type': '3_color_scale', 'min_color': "red", 'mid_color': "yellow", 'max_color': "green"}) 然后我尝试用一​​种格式应用于大于零的值和小于零的值的标准来分解它 worksheet.conditional_format('G2:G83', {'type': '2_color_scale', 'criteria': '<', 'value': 0, 'min_color': "red", 'max_color': "yellow"}) worksheet.conditional_format('G2:G83', {'type': '2_color_scale', 'criteria': '>', 'value': 0, 'min_color': "yellow", 'max_color': "green"}) 但是,这似乎也不工作 – 如果任何人有任何想法..请让我知道..真的很感激它。 完整的示例代码: import xlsxwriter workbook = xlsxwriter.Workbook('conditional_format.xlsx') worksheet1 = workbook.add_worksheet() # Add a format. Light red […]

使用Python使用Vlook_up

我在我的Excel数据文件中有四列: CUI ICD9/10 Out Lookup C0161894 39 4000001 C0000005 C0029730 398 4000002 C0000039 C0176693 398 4000003 C0000052 C0029730 3989 4000004 C0000074 我想匹配从第一列第四列,并获得第三列作为输出使用python。 由于数据很大,所以间接我想使用vLookups,但在这里我没有任何具体的价值。 我需要全列search

更新excel中的单元格值,同时通过Python 3.6 Pandas执行每一行来移动文件

以下是代码。 我已经添加了关于我想要更新状态的评论。 我的列名 : 复制文件,目标文件,备份文件,状态1,状态2。 import shutil import pandas SOURCE_CSV = r'C:\USERDATA\nhvn1\Desktop\Book1.xlsx' print('Reading data … ', end='') df = pandas.read_excel(SOURCE_CSV, 'Sheet3') print('done.') print('Processing files:') for index, row in df.iterrows(): source_file = row['Copy File'] target_file = row['Destination File'] backup_file = row['Backup File'] print(f'{source_file} to {target_file}') try: shutil.copyfile(target_file,backup_file) #print status 1 as 'File Backed up' except IOError: […]

在pandas中读取多个文件

我似乎无法find解决这个问题。 我用pandas阅读我的第一个excel文件并提取信息。 然后我使用这些信息来更新一个新的excel文件,然后更新公式。 我想再次使用pandas阅读新文件,但它仍然在阅读原始文件。 我用filename.close()来closures第一个文件,但它仍然记得从该文件的一切。 它不会阅读第二个文件。 这是读取第一个文件 firstDate = [] dateHeader = [] dataList = []` xl = pandas.ExcelFile(xlsx) sheets = xl.sheet_names df = xl.parse(sheets[2]) for index, row in df.iterrows(): dateStamp = row[2].date() creationMonth = dateStamp.month creationDay = dateStamp.day creationYear = dateStamp.year creationDate = datetime.date(creationYear, creationMonth, 1) endDate = datetime.datetime.now() #Create a list to hold […]

Pythonpandas – 通过匹配主标识符将多个dataframe中的数据添加到同一行,如果没有来自该数据框的结果,则保留空白

对于python和使用pandas来说,这是一个很新的东西,我只是偶尔使用它,当我试图学习和自动化一个繁琐的Excel任务时。 我遇到了一个问题,我一直无法通过Google或Stack Overflowfind我要查找的内容。 我目前有6个不同的excel(.xlsx)文件,我可以parsing并读入数据框。 然而,每当我试图将它们追加在一起,他们只是作为新的行添加在最终输出excel文件,而是我试图将类似的数据值追加到同一行,而不是相同的列,使我可以看出这些数据集中是否出现这个唯一值。 缩短的例子如下 [df1] 0 Col1 Col2 1 XYZ 41235 2 OAIS 15123 3 ABC 48938 [df2] 0 Col1 Col2 1 KFJ 21493 2 XYZ 43782 3 SHIZ 31299 4 ABC 33347 [Expected Output] 0 Col1 [df1] [df2] 1 XYZ 41235 43782 2 OAIS 15123 3 ABC 48938 33347 4 KFJ 21493 […]