草庐IT

Pandas-Datareader

全部标签

python - 根据位数拆分 Pandas 数据框列

我有一个pandas数据框,它有两列键和值,值总是由一个8位数字组成,例如>df1keyvalue1010000100201000000030101000004011110000现在我需要获取值列并将其拆分为当前的数字,这样我的结果就是一个新的数据框>df_reskey012345671010000100201000000030101000004011110000我无法更改输入数据格式,我认为最传统的方法是将值转换为字符串并循环遍历每个数字字符并将其放入列表中,但是我正在寻找更优雅和更快的东西,请帮忙.编辑:输入不是字符串,而是整数。 最佳答案

python - Pandas 用正则表达式将列表分成几列

我有一个字符串列表:content01/09/15,10:07-message101/09/15,10:32-message201/09/15,10:44-message3我想要一个数据框,例如:datemessage01/09/15,10:07message101/09/15,10:32message201/09/15,10:44message3考虑到我在列表中的所有字符串都以这种格式开头,我可以按-拆分,但我宁愿寻找一种更聪明的方法来做到这一点。history=pd.DataFrame([line.split("-",1)forlineincontent],columns=['da

python - 如何展平 pandas DataFrame 中的分层列索引?

假设我有一个pandas.DataFrame,其列的层次索引如下:importpandasaspdcolumns=pd.MultiIndex.from_product([list('AB'),list('ab')])df=pd.DataFrame(np.arange(8).reshape((2,4)),columns=columns)printdf输出[1]:ABabab0012314567我想展平列索引,使其看起来如下所示:AaAbBaBb0012314567我试过了defflatten(col):col.name=''.join(col.name)returncoldf.apply

python - 'CSV 不存在' - Pandas DataFrame

这个问题在这里已经有了答案:WindowspathinPython(5个答案)关闭4年前。我无法将csv文件读取到pandas数据框中。我是Pandas的新手,这阻碍了我的进步。我已阅读文档并搜索解决方案,但我无法继续。我尝试了以下无济于事......importpandasaspdimportnumpyasnppd.read_csv('C:\Users\rcreedon\Desktop\TEST.csv')pd.read_csv("C:\Users\rcreedon\Desktop\TEST.csv")和带/不带引号的类似排列。它吐出一个以以下结尾的大型复合错误:IOError:Fi

python - 如何将 mysqldump 导入 Pandas

如果有一种简单的方法可以导入mysqldump,我很感兴趣进入Pandas。我有一些小的(~110MB)表,我想将它们作为DataFrame。我想避免将数据放回数据库,因为这需要安装/连接到这样的数据库。我有.sql文件并想将包含的表导入Pandas。是否存在执行此操作的模块?如果版本控制很重要,所有.sql文件都会列出“MySQLdump10.13Distrib5.6.13,forWin32(x86)”作为生成转储的系统。事后回顾我在没有数据库连接的本地计算机上工作。我工作的正常流程是从第三方获得.tsv、.csv或json,然后进行一些分析,然后返回。一个新的第三方以.sql格式提

python - 联合超过 2 个 Pandas 数据框

我正在尝试将sql查询转换为python。sql语句如下:select*fromtable1unionselect*fromtable2unionselect*fromtable3unionselect*fromtable4现在我在4个数据帧df1、df2、df3、df4中有这些表,我想合并4个pandas数据帧,这将匹配与sql查询相同的结果。我对要使用什么操作感到困惑,这相当于sqlunion?提前致谢!!注意:所有数据框的列名都相同。 最佳答案 如果我很清楚这个问题,您正在寻找concat函数。pandas.concat([d

python - long() 的 pandas 无效文字,基数为 10 错误

我正在尝试这样做:df['Num_Detections']=df['Num_Detections'].astype(int)我得到以下错误:ValueError:invalidliteralforlong()withbase10:'12.0'我的数据看起来如下:>>>df['Num_Detections'].head()Out[6]:sku_nameDOBRIYMORSGRAPE-CRANBERRY-RASBERRY1L12.0AQUAMINERALE5.0L9.0DOBRIYPINEAPPLE1.5L2.0FRUKT.SADAPPLE0.95L154.0DOBRIYPEACH-APP

python - 为什么在 Pandas 数据框中应用有时并不比 for 循环快?

在大多数情况下,apply似乎可以加速dataframe上的操作过程,但是,当我使用apply时,我没有发现加速。这是我的例子;我有一个包含两列的数据框:>>>dfindexcol1col2110202203033040我想做的是通过在col1上实现函数R(x)来计算数据框中每一行的值,结果将除以col2中的值。例如,第一行的结果应该是R(10)/20。这是我的函数,将在apply中调用:def_f(input):returnR(input['col1'])/input['col2']然后我在apply中调用_f:df.apply(_f,axis=1)但是,我发现在这种情况下,appl

python - 如何通过 pandas 中的 groupby 输出来填充 na?

我有一个包含4列(A、B、C、D)的数据框。D有一些NaN项。我想用具有相同A、B、C值的D的平均值填充NaN值。例如,如果A、B、C、D的值分别是x、y、z和Nan,那么我想将NaN值替换为A值所在行的D的平均值,B,C分别是x,y,z。 最佳答案 df['D'].fillna(df.groupby(['A','B','C'])['D'].transform('mean'))会比apply更快In[2400]:dfOut[2400]:ABCD01111.01111NaN21113.033335.0In[2401]:df['D'].

忽略 NaN 的 Python pandas 独特值(value)

我想在groupby聚合中使用unique,但我不想在unique中使用nan结果。示例数据框:df=pd.DataFrame({'a':[1,2,1,1,np.nan,3,3],'b':[0,0,1,1,1,1,1],'c':['foo',np.nan,'bar','foo','baz','foo','bar']})abc01.00000foo12.00000NaN21.00001bar31.00001foo4nan1baz53.00001foo63.00001bar和groupby:df.groupby('b').agg({'a':['min','max','unique'],'c