我必须阅读一些Excel格式的文件和一些CSV格式的文件.有些文件有数百列. 有没有办法选择多个列范围而不指定所有列名称或位置?例如,选择列1-10,15,17和50-100:df = df.ix[1:10, 15, 17, 50:100]我需要知道在从Excel文件和CSV文件创建数据框时以及在创建数据框架后如何执行此操作.解决方法:使用np.r_np.r_[1:10, 15, 17, 50:100]array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 15, 17, 50, 51, 52, 53, 54, 55,56, 57, 58, 59, 60, 61...
我在pandas DataFrame中有一个列,我想在一个空格上拆分.使用DataFrame.str.split(”)分割很简单,但我不能从最后一个条目创建一个新列.当我.str.split()列我得到一个数组列表,我不知道如何操纵它来获取我的DataFrame的新列. 这是一个例子.该列中的每个条目都包含“符号数据价格”,我想分拆价格(最终在一半的情况下删除“p”…或“c”).import pandas as pd temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 ...
我有以下数据帧:Index_Date A B C D===============================2015-01-31 10 10 Nan 102015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 2802015-02-03 10 100 Nan 250要求:Index_Date A B C D===============================2015-01-31 10 10 10 102015-02-01 2 3 23 222015-02-02 10 60 290 2802015-02-03 10 100 3000 250C列...
在Pandas中,当我选择一个只在索引中有一个条目的标签时,我会返回一个系列,但是当我选择一个包含多个条目的条目时,我会返回一个数据框. 这是为什么?有没有办法确保我总能找回数据框?In [1]: import pandas as pdIn [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3])In [3]: type(df.loc[3]) Out[3]: pandas.core.frame.DataFrameIn [4]: type(df.loc[1]) Out[4]: pandas.core.series.Series解决方法:假设行为不一致,...
我有一个熊猫系列sf:email email1@email.com [1.0, 0.0, 0.0] email2@email.com [2.0, 0.0, 0.0] email3@email.com [1.0, 0.0, 0.0] email4@email.com [4.0, 0.0, 0.0] email5@email.com [1.0, 0.0, 3.0] email6@email.com [1.0, 5.0, 0.0]我想将其转换为以下DataFrame:index | email | list _____________________________________________ 0 | email1@email.com | [1.0, 0.0, 0.0] 1 |...
为什么pandas会区分Series和单列DataFrame?换句话说:Series类存在的原因是什么? 我主要使用日期时间索引的时间序列,这可能有助于设置上下文.解决方法:引用Pandas docspandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False) Two-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes(rows and columns). Arithmetic operations align on both row and colu...
我正在尝试用Pandas获取dataframe df的行数,这是我的代码. 方法1:total_rows = df.count print total_rows +1方法2:total_rows = df['First_columnn_label'].count print total_rows +1两个代码片段都给我这个错误:TypeError: unsupported operand type(s) for +: ‘instancemethod’ and ‘int’我究竟做错了什么?解决方法:您可以使用.shape属性或只使用len(DataFrame.index).但是,有显着的性能差异(len(DataFrame.index)最快...
参见英文答案 > How to deal with SettingWithCopyWarning in Pandas? 13个我有一个小数据帧,比如说这个:Mass32 Mass44 12 0.576703 0.496159 13 0.576658 0.495832 14 0.576703 0.495398 15 0.576587 0.494786 16 0.576616 0.494473 ...我想要列Mass32的滚动平均值,所以我这样做:x['Mass32s'] = pandas.rolling_mean(x.Mass32, 5).shift(-2)它的工作原理我有...
我试图将Spark RDD转换为DataFrame.我已经看到了传递方案的文档和示例sqlContext.CreateDataFrame(rdd,schema)函数. 但我有38列或字段,这将进一步增加.如果我手动给出指定每个字段信息的模式,那将会是如此繁琐的工作. 有没有其他方法可以在不知道先前列的信息的情况下指定模式.解决方法:看到, 在Spark中有两种方法可以将RDD转换为DF. toDF()和createDataFrame(rdd,schema) 我会告诉你如何动态地做到这一点. toDF() toDF()命令为您提...
我正在导入一个类似下面的csv文件.使用pandas.read_csvdf = pd.read_csv(Input, delimiter=";")... 10; 01.02.2015 16:58; 01.02.2015 16:58; -0.59; 0.1; -4.39; NotApplicable; 0.79; 0.2 11; 01.02.2015 16:58; 01.02.2015 16:58; -0.57; 0.2; -2.87; NotApplicable; 0.79; 0.21 ... 问题是,当我稍后在我的代码中尝试使用这些值时,我得到了这个错误:TypeError:不能将序列乘以’float’类型的非int. 我收到此错误是因为我尝试使...
熊猫新手,也许我错过了一个大创意?我有一个Pandas DataFrame的寄存器事务,形状像(500,4):Time datetime64[ns] Net Total float64 Tax float64 Total Due float64我正在使用Python3 Jupyter笔记本中的代码.我无法通过排序任何列.通过不同的代码示例进行排序,我在检查df时没有看到输出重新排序.所以,我把问题简化为尝试只订购一列:df.sort_values(by='Time') # ...
在Pandas DataFrame中插入NaN单元非常容易:In [98]: df Out[98]:neg neu pos avg 250 0.508475 0.527027 0.641292 0.558931 500 NaN NaN NaN NaN 1000 0.650000 0.571429 0.653983 0.625137 2000 NaN NaN NaN NaN 3000 0.619718 0.663158 0.665468 0.649448 4000 NaN NaN NaN NaN 6000 NaN NaN ...
我有一个从Python的Pandas包生成的数据帧.如何使用pandas包中的DataFrame生成热图.import numpy as np from pandas import *Index= ['aaa','bbb','ccc','ddd','eee'] Cols = ['A', 'B', 'C','D'] df = DataFrame(abs(np.random.randn(5, 4)), index= Index, columns=Cols)>>> dfA B C D aaa 2.431645 1.248688 0.267648 0.613826 bbb 0.809296 1.671020 1.564420 0.347662 ccc 1.501939 1.1265...
我有一个pandas数据帧:arrays = [['Midland', 'Midland', 'Hereford', 'Hereford', 'Hobbs','Hobbs', 'Childress','Childress', 'Reese', 'Reese', 'San Angelo', 'San Angelo'],['WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS']] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples) df = pd.DataFrame(np.random.randn(12, 4), index=arrays,columns=['00 UTC', '06 UTC', '12 ...
我有这样的数据帧:CreationDate 2013-12-22 15:25:02 [ubuntu, mac-osx, syslinux] 2009-12-14 14:29:32 [ubuntu, mod-rewrite, laconica, apache-2.2] 2013-12-22 15:42:00 [ubuntu, nat, squid, mikrotik]我是CreationDate列中列表的计算长度,并创建一个新的长度列,如下所示:df['Length'] = df.CreationDate.apply(lambda x: len(x))这给了我这个:CreationDate Length 2013-12-22 15:25:02 ...