Tag: 数据框

用于合并两个电子表格的Python代码,与Excel中的“索引匹配匹配”function类似

我有两个单独的电子表格,并使用pandas为了将其转换成数据框架。 我正在寻找从电子表格2中提取信息并将这些信息合并到电子表格1中。我知道如何通过使用“索引匹配匹配”function来提取excel中的信息,但是我在使用Python因为它似乎不适合合并或连接方法…或者我只是错过了连接。 电子表格1将如下所示: 电子表格1 电子表格2将如下所示: 电子表格2 最终结果的头像是这样的: 区域分支Master_Product_Name Retrieved_# 北,弗雷斯诺,产品1: 5,060 北,弗雷斯诺,产品2: 2,429 北,萨克拉门托,产品3: 405 北,弗雷斯诺,产品6:10 会发生什么事是程序将插入一个新的列,并将基于索引列和行插入数据到单个数据点。 所以对于我的例子中的第一行,这是弗雷斯诺和产品1 …它将在电子表格中看两行,直到它到达产品1,然后直到find弗雷斯诺和插入5,060。 在目前的情况下,有地区栏不重要,但有能力检索基于多个标准是我能想象的。

从Excel到pandas的Csv中压平表

我试图从Excel中的表中获取数据,并将其放入单行的csv中。 我有从Excel中导入的数据使用pandas的数据框,但现在,我需要将这些数据写入一个csv的单行。 这是可能的,如果是这样的话,如果我正在采取一个50行3列表,并将其展平为1行150列csv表,语法会是什么样子? 我的代码到目前为止如下: import pandas as pd df = pd.read_excel('filelocation.xlsx', sheetname=['pnl1 Data ','pnl2 Data','pnl3 Data','pnl4 Data'], skiprows=8, parse_cols="B:D", keep_default_na='FALSE', na_values=['NULL'], header=3) DataFrame.to_csv("outputFile.csv" ) 另一个问题,我会帮助我理解如何转换这些数据是“有什么办法从特定的行和列中select一个数据”?

pandas迭代行,然后打破,直到条件

我有一个这样没有组织的专栏。 Name Jack James Riddick Random value Another random value 我想要做的只是从这个列中获取名称,但努力寻找一种方法来区分真实姓名为随机值。 幸运的是名字都在一起,随机值也都在一起。 我可以做的唯一的事情是遍历行,直到它获得“随机值”,然后中断。 我试过使用lambda的这个,但没有成功,因为我不认为有办法打破。 而且我不确定在这种情况下理解能够起作用。 这是我一直在试图玩的例子。 df['Name'] = df['Name'].map(lambda x: True if x != 'Random value' else break) 但是,上述不起作用。 任何build议什么可以根据我想要实现的工作? 谢谢。

Python Pandas错误:pandas只能使用.str访问器和string值

我有一个pandas脚本,我得到一个Excel工作表,并把它放在一个pandas数据框,然后我在这个数据框中查找一个特定的单词,然后我创build一个1和0的df掩码,在那里我find了单词。 我没有Excel表格的特定格式,所以我得到所有的信息,我find了这个词,并创build一个与此行产生的错误的面具: mask = np.column_stack([df[col].str.find(word) for col in df.columns.tolist()]).astype(int) 这行有时会产生这个错误: pandas只能使用带string值的.str访问器,它使用pandas中的np.object_ dtype 任何想法为什么以及如何使其工作? 谢谢

如何让大pandas在同一顺序在Excel中读取行?

一般来说,当我们将一个excel文件作为数据框导入pandas时,行的顺序与Excel表中的行顺序不同。 我希望数据框的行与Excel表中的行相同。

比较2个独立DataFrame中的数据,并在Python / Pandas中生成结果

我是Python的新手,我试图用Python和Pandas产生Excel的IndexMatch函数类似的结果,尽pipe我正在努力使它工作。 基本上,我有2个独立的dataframe: 第一个数据框(“市场”)有7列,但我只需要这些练习(“符号”,“date”,“closures”)的列中的3。 这个DF有13948340行。 第二个DataFrame('transactions')有14列,但我只需要其中的2列('i_symbol','acceptance_date')。 这个DF有1,428,026行。 我的逻辑是:如果i_symbol等于符号,并且acceptance_date等于date:打印符号,date和closures。 这应该很容易。 我用iterrows()实现了它,但由于数据集的大小,它每3分钟返回一个结果 – 这意味着我将不得不运行脚本1,190小时以获得最终结果。 根据我在网上阅读的内容,itertuples应该是一个更快的方法,但我目前得到一个错误: ValueError:解压缩的值太多(预计2) 这是我写的代码(目前产生上面的ValueError): for i_symbol, acceptance_date in transactions.itertuples(index=False): for symbol, date in market.itertuples(index=False): if i_symbol == symbol and acceptance_date == date: print(market.symbol + market.date + market.close) 2个问题: itertuples()是最好还是最快的方法? 如果是这样,我怎么能得到上述的工作? 有谁知道更好的方法? 索引工作? 我应该使用外部数据库(例如MySQL)吗? 谢谢,Matt

python数据框填满

1 0 an 1 df 2 0 3 sdg 4 gd 5 dg 6 0 7 dc 8 0 9 dcd 10 ds 11 1 12 sdg 13 ds 14 1 15 sd 16 sg 17 2 18 dsg 19 sdg 20 dfg 21 2 我想问一下如何使用上面的数据框来生成下面的数据框,根据第一列来生成第二列。 (就像填写excel一样,但是很多次) 1 2 0 an 0 1 df 0 […]

Python的pandas数据框连接和按function分组

我有在Excel中的数据如下 category size1 size2 size3 cat1 10 20 30 cat2 20 10 15 cat3 30 20 10 我想要两个报告/ excel输出如下 #1) Category-sizetype-value cat1 size1 10 cat1 size2 20 cat1 size3 30 cat2 size1 20 … #2) Category-size-value-value counts(ie how many time specific size value appears) cat1 size1 10 3 times cat1 size2 20 2 times cat1 […]

自动化直方图以改变excel文件

我正在写一些代码,我需要一些帮助。 我写的代码(在下面发表)必须做几件事情,首先它应该能够创build一个直方图(它),从一个文件,它读取和相应的bin。 所以这里是我需要一些帮助,1)我需要find一种方法来改变我的宽度任意的宽度(deltaT),而不必每次硬编码,2)我需要一些帮助能够运行导入到python的不同excel文件的代码,并将它们导出为不同的excel文件。 我相信,我不太确定自己对编码很陌生,所以我正在处理的是一个Dataframe。 码: import pandas as pd import numpy as np import matplotlib.pyplot as plt import openpyxl from pandas import ExcelWriter data = pd.read_excel('/Users/user/Desktop/Data/Book1.xlsx') counts, bins, patches = plt.hist(data.values, bins=range(0, int(max(data.values)+5), 5)) df = pd.DataFrame({'bin_leftedge': bins[:-1], 'count': counts}) plt.title('Data') plt.xlabel('Neuron') plt.ylabel('# of Spikes') plt.show() writer = pd.ExcelWriter('/Users/user/Desktop/Data/output.xlsx') df.to_excel(writer,'Sheet2') writer.save() 我试着读取另一个excel文件,如下所示: data2 = pd.read_excel('/Users/user/Desktop/Data/Book2.xlsx') […]

用Pandas从函数返回多个DataFrame

我试图parsing多个Excel与pandas分为单独的个人数据框。 我的代码到目前为止是: sheet_names =[tab1, tab2] df_names = [1,2] def initilize_dataframes(sheet_names): for name in sheet_names: df = xls_file.parse(name) #parse the xlxs sheet df = df.transpose() #transpose dates to index new_header = df.iloc[0] #column header names df = df[1:] #drop 1st row df.rename(columns=new_header, inplace= True) #rename the columns return df` ` for i in df_names: df_(i) = […]