Tag: pandas

使用xlsx将大pandas合并,并在输出中生成空值列

我使用Python 3.4,Pandas 0.16.2和Jupyter Notebook作为我的IDE。 我正在导入以下两个数据框,如下所示: Lookup = pd.read_excel("LookupMergeOutput.xlsx") Concatenated = pd.read_csv('Concatenated.csv', error_bad_lines = False, na_values='', iterator=True, chunksize=1000) data = pd.concat([chunk for chunk in Concatenated], ignore_index=True) 数据 查找dataframe规格:23353行8; 8列 Columns: Dtype: LOGINNAME object FIRSTNAME object LASTNAME object ID_y int64 CREATEUSERID int64 REVISIONUSERID int64 BEGINDATE object ENDDATE object 数据数据帧规格:23653行; 667栏 此数据框中合并的感兴趣列是REFERENCE_ID data.REFERENCE_ID.dtype 作为“对象” 要合并的列是ID_y和REFERENCE_ID (在数据数据ID_y )。 Lookup中的列包含唯一的值计数(例如,265926639等)。 […]

在导出到Excel时,将类“pandas.tslib.Timedelta”转换为string

初始数据框: arrivalTime 0 2016-01-12 06:35:42 2 2016-01-12 06:54:02 3 2016-01-12 07:01:43 4 2016-01-12 07:02:28 5 2016-01-12 07:12:29 6 2016-01-12 07:18:41 在数据上,我应用这个function: def function(df): df['arrivalTime_cal'] = pd.to_datetime(df['arrivalTime'], format='%Y-%m-%d %H:%M:%S') df['diff_time'] = df['arrivalTime_cal'].diff().fillna(0) del df['arrivalTime_cal'] return df 我得到这些结果(更正在ipython中): diff_time 0 00:00:00 1 00:04:37 2 00:13:43 3 00:07:41 4 00:00:45 导出为ex​​cel时导致转换格式: arrivalTime diff_time 0 2016-01-12 06:35:42 0 1 […]

pandas:根据行中的值与列添加的date比较

我有一些类似格式的excel文件: |name| email| cat1| cat2| cat3 smith email 01JAN2016 01JAN2014 01JAN2015 前两列包含string(名称和电子邮件地址),而以下每列包含每个人完成cat(x)中的每个项目的date。 我想运行一个比较current_date,添加一个新的列“状态”,将有一个值'兼容'或'拖延'的基础上是否有任何date在当前date之后,然后输出新的dataframe到Excel电子表格。 我最初的尝试让我很容易地过滤“较旧”的date,但是,当我尝试添加一个使用条件的列时,一切都开始中断: import pandas as pd import numpy as np import datetime current_date = datetime.datetime.now() writer = pd.ExcelWriter('pd_output.xlsx', engine='xlsxwriter', datetime_format= 'mmm d yyy') df = pd.read_excel(tracker,'Sheet1') print(df.values) # Displays dates as 'Timestamp('2016-01-01 00:00:00') any value which is < current_date displays as 'True' else […]

将Excel样式date转换为pandas

我必须parsing一个XML文件,它给了我excel风格的date。 例如:42580.3333333333。 pandas是否提供了一个在适当的date时间转换数字的方法? 谢谢你的帮助。

在python中将一个空行添加到csv或excel文件

如何在excel或csv中插入一个空行来分隔每个组。 目前我正在使用pandas,我不打包这样做。 当前表: column1 | column2 | column3 ———————————- A | 23 | blue A | 23 | orange A | 45 | yellow A | 45 | yellow A | 45 | blue A | 60 | green A | 60 | green A | 75 | pink _ 希望桌子 注意:每个不同列之后的空白行 column1 | column2 […]

从CSV读取并存储在Excel选项卡中

我正在读取多个CSV(通过URL)到多个Pandas DataFrames中,并希望将每个CSV的结果存储到单独的Excel工作表(选项卡)中。 当我在for循环中保留writer.save() ,我只在一个工作表中得到最后的结果。 当我在for循环之外移动writer.save() ,我只在一个工作表中得到第一个结果。 两者都是错误的。 import requests import pandas as pd from pandas import ExcelWriter work_statements = { 'sheet1': 'URL1', 'sheet2': 'URL2', 'sheet3': 'URL3' } for sheet, statement in work_statements.items(): writer = pd.ExcelWriter('B.xlsx', engine='xlsxwriter') r = requests.get(statement) # go to URL df = pd.read_csv(statement) # read from URL df.to_excel(writer, sheet_name= sheet) writer.save() 我怎样才能在三个单独的工作表中得到三个结果?

从一个目录中读取多个.xlsx文件到基于文件名的独立Pandas数据框中

我想从一个目录加载多个具有不同结构的xlsx文件,并根据文件名分配这些自己的dataframe。 我有30多个不同结构的文件,但为了简洁,请考虑以下几点: 3个excel文件[wild_animals.xlsx,farm_animals_xlsx,domestic_animals.xlsx] 我想分配每个都有自己的数据框,所以如果文件名包含'野'它被分配到wild_df,如果农场然后farm_df和如果国内然后dom_df。 这只是一个过程中的第一步,因为实际的文件包含大量需要根据文件types进行清理的“噪音”,它们的文件名也会每周更改,只有less数关键标记保持不变。 我的假设是glob模块是开始这样做的最好方法,但是在文件扩展名的非常具体的部分方面,并使用它来分配给一个特定的DF,我变得有点失落,所以任何帮助表示赞赏。 我问了一个类似的问题,但这是我现在解决的大部分问题的一部分。

使用Pandas DataFrame / Sorting

我正在使用Excel中的一个大数据集,我试图按每个索引值sorting前25位。 数据库看起来像这样: 最终的PAC ID是公司编号并进行更改(在给定的数据中没有显示)。 PAC贡献是我想要sorting的数字。 举例来说,公司C00003590会为我们提供50笔贡献给“PAC贡献”的不同候选人,我想对每个公司做的25个贡献sorting。 我已经尝试使用词典,为每个公司创build一本词典,并将候选人数字作为string键join,并将贡献作为一个值。 我到目前为止的代码是以下(这可能是完全错误的方式去了)虽然): import pandas as pd df1 = pd.read_excel('Test2.xlsx') dict_company = {} k1 = str(df1['Final PAC ID']) k2 = str(df1['Candidate ID']) for each in range(0,100): dict_company[k1)[each]] = {} dict_company[k1)[each]] = k2[each] if each % 50 == 0: print(each) print(dict_company) for each in range(0,100): dict_company[k1][k2][each] = round(float(k1[each])) if each % […]

pandasfromat列多张

使用下面的代码,我设法为每个国家创buildexcel文件,但我无法格式化excel列: df=TOT.reset_index() for n, g in df.groupby('Country'): X = n.strip(" ") out_path = "C:/temp/" + n.strip(" ") + ".xlsx" C =TOTSPPerc.reset_index(level=0)[TOTSP.reset_index(level=0).Country==n].drop('Country', axis=1) B =TOTPerc.reset_index(level=0)[TOTPerc.reset_index(level=0).Country==n].drop('Country', axis=1) A= TOTcntPerc.drop('Country', axis=1) writer = pd.ExcelWriter(out_path , engine='xlsxwriter') format2 = workbook.add_format({'num_format': '0%'}) A.to_excel(writer, sheet_name="Country") B.to_excel(writer, sheet_name="Stores") C.to_excel(writer, sheet_name="SPs") writer.save() print(n) 我需要为每个创build的文件格式化B:F列B:F 。

pandas`to_excel`设置字体名称

是否可以设置pandas的Excel作家的字体名称? 这是我的尝试: import pandas as pd from pandas.io.excel import ExcelWriter df = pd.DataFrame([[1,2,3],[4,5,6]]) writer = ExcelWriter("test.xlsx") writer.set_font_name("Arial") # this would be ideal, but no such method exists format = writer.book.add_format({"font_name": "Arial"}) df.to_excel(writer) # format is not applied. Need to pass `format` object somewhere writer.close() 创build完成后,我可以在哪里传递xlsxwriter.format.Format对象?