Tag: pandas

如何在列上使用尾随行来计算同一列| pandasPython

我想弄清楚如何比较列的前一行的元素与pandasDataFrame中当前行上的不同列。 例如: data = pd.DataFrame({'a':['1','1','1','1','1'],'b':['0','0','1','0','0']}) 输出: ab 0 1 0 1 1 0 2 1 1 3 1 0 4 1 0 现在我想创build一个新的列,询问是否(data ['a'] + data ['b'])大于同一列的前一个值。 从理论上讲: data['c'] = np.where(data['a']==( the previous row value of data['a'] ),min((data['b']+( the previous row value of data['c'] )),1),data['b']) 所以我可以理论上输出: abc 0 1 0 0 1 1 0 0 […]

从Excel中读取数据并忽略python中的空行

这可能是愚蠢的,但我需要从Excel中导入一些数据,其中数据打印在工作表中的某处(不是从A1位置开始)。 … … … … … … … … … … … … … … … … … … … … … … … … … … … … Timestamp abcd … … … … … 20/01/2016 4.3 3.2 0.3 1.3 … … … … … 19/01/2016 2.2 3.4 5.5 7.2 … … … … […]

用另一个数据框覆盖一个数据框,只保留新的或更改的行

我有两个pandas的数据框,看起来像下面这样: DF1: RecorderID GroupID Location … SomeColumn CT-1000001 BV- Cape Town SomeValue CT-1000002 MP- Johannesburg SomeValue CT-1000003 BV- Durban SomeValue DF2: RecorderID GroupID Location … SomeColumn CT-1000001 BV- Durban … SomeValue CT-1000003 BV- Durban … SomeValue 这两个dataframe实际上很大,有很多列和很多行。 我想比较两个dataframe,并以一个dataframe结束以下操作(RecorderID是我的主键): 所有在两个数据框中值不同的行都必须采用df1的值并保留。 所有存在于df1但不存在于df2中的行必须被插入。 所有包含在两个数据框中且相同的值都必须删除。 所以,以上面的例子,我会得到以下的数据框: RecorderID GroupID Location … SomeColumn CT-1000001 BV- Cape Town SomeValue CT-1000002 MP- Johannesburg […]

如何在工作表为空白的工作表中的公式中保留Excel引用?

是否有可能在Excel中创build一个具有公式的模板到其他命名的空表,这样对单元格的引用总是保持不变,最终不会像这样? ='Data'!#REF! 我正在使用Python,pandas和openpyxl填充多个命名的工作表与各种pandas数据框。 第一张,第二张和第三张是与其他工作表相关的模板。 为什么这是必需的:如果我有10行的模板中的数据,并写入5行的数据框,其余5现有的行保留。 可能可以在to_excel之前清除目标表单,但我认为这可能会强制链接中断。 我已经看了这个如何保留一个公式的工作表时,删除和replace工作表的引用? 但是要创造另一个间接参照似乎非常繁琐。

pandas.read_excel,第一行值

我正在尝试使用pandas.read_excel从Excel文件中获取第一行。 我的问题是pandas使用第一行值作为数据框的标签。 有没有办法让他们 – 比如说 – 在列表中? 我试图看看是否有一个选项pandas.read_excel为了不加载第一行作为标签,但我还没有find任何东西( http://pandas.pydata.org/pandas-docs/stable/generated /pandas.read_excel.html )。 我知道我可以使用其他库(即xlrd,openpyxl,..)获得相同的结果。 但是,如果可能的话,我想使用pandas.read_excel,以便按照我已经用于同一python文件中的其他工作表的方法,并更好地了解库。

在Python中导出pandas数据框的列表

我正试图导出一个pandas数据框的列表来优化 list_of_df_to_dump = [df1,df2,…,df100] list_of_tab_names = ['df1','df2',…,'df100'] writer = ExcelWriter(excel_name + '.xlsx') for i,j in list_of_df_to_dump,list_of_tab_names: i.to_excel(writer,j,index = False) writer.save() 我得到以下错误: TypeError: 'DataFrame' objects are mutable, thus they cannot be hashed 任何想法如何可以修复或替代方法来完成相同的事情? 我不知道手动清单要多长时间

使用数据透视表更新excel文件与pandas

我正在尝试用pandas来更新现有的Excel文件。 这个文件有几张纸: 包含原始数据的工作表。 这是我想要从Pandas中导出的​​数据 使用包含数据透视表的原始数据的多个工作表。 我使用此代码来更新Excel文件的第一张,但保留其他表: disq_df = pd.DataFrame(disqualifications) writer = pd.ExcelWriter(args.output, engine='openpyxl') if os.path.exists(args.output): f, ext = os.path.splitext(args.output) shutil.copyfile(args.output, f + "-saved" + ext) writer.book = load_workbook(args.output) writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets) disq_df.to_excel(writer, sheet_name=args.sheet) writer.save() 这大多工作正常(只有第一张被修改),除了其他工作表上的枢轴表实际上是标准单元格。 我也在一些表单上也显示了graphics,这些图表也是消失的。 有没有办法保持这些表完全没有修改? 或者它是一个限制的openpyxl ? 这是表格的摘录: https : //www.dropbox.com/s/dd3jhiif93knh26/Disqualifications.xlsx?dl=0 。 相应的disq_df数据disq_df只是从disq_df构build而成: disq_df = pd.DataFrame({'Année naissance': {0: […]

使用Pandas从Dataframe的两列中过滤非数字数据

我正在加载一个有很多数据types(从Excel加载)的Pandas数据框。 两个特定的列应该是浮动的,但偶尔一个研究人员随机发表评论,如“未测量”。 我需要删除任何两列之一的值不是数字的行,并在其他列中保留非数字数据。 一个简单的用例看起来像这样(真正的表有几千行…) import pandas as pd df = pd.DataFrame(dict(A = pd.Series([1,2,3,4,5]), B = pd.Series([96,33,45,'',8]), C = pd.Series([12,'Not measured',15,66,42]), D = pd.Series(['apples', 'oranges', 'peaches', 'plums', 'pears']))) 结果在这个数据表中: ABCD 0 1 96 12 apples 1 2 33 Not measured oranges 2 3 45 15 peaches 3 4 66 plums 4 5 8 42 pears 我不清楚如何到达这个表格: […]

pandas:比较pandas中的2个excel文件,返回其中一列中的值存在于另一列中的行

我有两个excel文件,都包含员工信息。 File1是195K行,File2小于100.我需要返回File1中存在id#的File1中的整个行。 我在PHP中做了这样的事情,但不能在Python /pandas中进行sorting。 我正在查看isin()方法来计算行的select。 df0 = pd.ExcelFile('File1.xlsx').parse('Sheet1') df1 = pd.ExcelFile('Fil2.xlsx').parse('Sheet1') print df0[df1['staffid'].isin(df0['staffid'])] 结果是“IndexingError:Unalignable boolean Series key provided provided” pandas是这个的正确工具,还是我应该看看openpyxl或其他?

使用python将表格保存到不同的Excel工作表

我需要把这个表格写入不同的sheet ,而不是写入不同的文件 used_at 4 address 10ruslake.ru 1c.ru ID 0025977ab2998580d4559af34cc66a4e 0.0 0.0 00c651e018cbcc8fe7aa57492445c7a2 0.0 0.0 0120bc30e78ba5582617a9f3d6dfd8ca 0.0 0.0 和 used_at 5 address vk.com yandex.ru ID 0025977ab2998580d4559af34cc66a4e 152 465 00c651e018cbcc8fe7aa57492445c7a2 23 213 0120bc30e78ba5582617a9f3d6dfd8ca 0 100 我试试 dfs[0].to_excel("group_edit.xlsx", sheet_name='Sheet1') dfs[1].to_excel("group_edit.xlsx", sheet_name='Sheet2') 但它不工作。 我试图写一个循环: for i in dfs: df[i].to_excel("group_edit.xlsx", sheet_name='Sheet') 但它返回错误,我不知道,我怎样才能指定循环中的工作sheet的数量