草庐IT

pyspark-dataframes

全部标签

python - 为什么 DataFrame.loc[[1]] 比 df.ix [[1]] 慢 1,800 倍,比 df.loc[1] 慢 3,500 倍?

自己试试看:importpandasaspds=pd.Series(xrange(5000000))%timeits.loc[[0]]#Youneedpandas0.15.1ornewerforittobethatslow1loops,bestof3:445msperloop更新:大概是2014年8月左右在0.15.1中引入的alegitimatebuginpandas。解决方法:使用旧版本的pandas等待新版本发布;得到一个尖端的开发者。来自github的版本;在您发布的pandas中手动进行一行修改;暂时使用.ix而不是.loc。我有一个包含480万行的DataFrame,使用.

python - Pandas Dataframe 比较和浮点精度

我正在比较两个应该相同的数据帧。但是由于浮点精度,我被告知这些值不匹配。我在下面创建了一个示例来模拟它。我怎样才能得到正确的结果,以便最终比较数据框对两个单元格都返回true?a=pd.DataFrame({'A':[100,97.35000000001]})b=pd.DataFrame({'A':[100,97.34999999999]})printaA0100.00197.35printbA0100.00197.35print(a==b)A0True1False 最佳答案 好的,您可以使用np.isclose为此:In[250]

python - PySpark 将 'map' 类型的列转换为数据框中的多列

输入我有一列Parameters类型为map的形式:frompyspark.sqlimportSQLContextsqlContext=SQLContext(sc)d=[{'Parameters':{'foo':'1','bar':'2','baz':'aaa'}}]df=sqlContext.createDataFrame(d)df.collect()#[Row(Parameters={'foo':'1','bar':'2','baz':'aaa'})]df.printSchema()#root#|--Parameters:map(nullable=true)#||--key:str

python - 将 Pandas Dataframe 单元格中的嵌套数组值拆分为多行

我有一个PandasDataFrame以下形式每年(2008年-2015年)每个ID一行。对于MaxTemp、MinTemp和Rain列,每个单元格都包含一个值数组,对应于当年的某一天,即上面的框架frame3.iloc[0]['MaxTemp'][0]是2011年1月1日的值frame3.iloc[0]['MaxTemp'][364]是2011年12月31日的值。我知道这是错误的结构,但这是我必须处理的数据。它以这种方式存储在MongoDB中(其中这些行之一相当于Mongo中的文档)。我想拆分这些嵌套数组,这样我就不会每年每个ID一行,而是每天每个ID一行。但是,在拆分数组时,我还想

python - 将 model.predict() 的结果与原始 pandas DataFrame 合并?

我正在尝试将predict方法的结果与pandas.DataFrame对象中的原始数据合并。fromsklearn.datasetsimportload_irisfromsklearn.cross_validationimporttrain_test_splitfromsklearn.treeimportDecisionTreeClassifierimportpandasaspdimportnumpyasnpdata=load_iris()#bearwithmeforthenextfewsteps...I'mtryingtowalkyouthrough#howmydataobjectl

python - 将 Numpy 数组按列转换为 Pandas DataFrame(作为单行)

我有一个像这样的numpy数组:a=np.array([35,2,160,56,120,80,1,1,0,0,1])然后我尝试将该数组转换为具有逻辑“一列一值”的pandas数据框,如下所示:columns=['age','gender','height','weight','ap_hi','ap_lo','cholesterol','gluc','smoke','alco','active']values=adf=pd.DataFrame(a,columns=columns)这种方法引发ValueError:传递值的形状是(1,11),索引暗示(11,11)。我做错了什么以及如何以正

python - 计算 DataFrame 每一行中 Series 中项目的出现次数

我有一个看起来像这样的pandas.DataFrame。COL1COL2COL3C1NoneNoneC1C2NoneC1C1NoneC1C2C3对于此数据框中的每一行,我想计算每个C1、C2、C3的出现次数,并将此信息作为列附加到此数据框中。例如,第一行有1个C1、0个C2和0个C3。最终的数据框应该是这样的COL1COL2COL3C1C2C3C1NoneNone100C1C2None110C1C1None200C1C2C3111因此,我创建了一个以C1、C2和C3作为值的系列-topcount的一种方法是遍历DataFrame的行和列,然后遍历该系列并在匹配时递增计数器。但是是否有一

python - 从 {index : list of row values} 形式的字典构造 Pandas DataFrame

我已经设法使用:dft=pd.DataFrame.from_dict({0:[50,45,00,00],1:[53,48,00,00],2:[56,53,00,00],3:[54,49,00,00],4:[53,48,00,00],5:[50,45,00,00]},orient='index')这样做,构造函数看起来就像DataFrame一样,易于阅读/编辑:>>>dft0123050450015348002565300354490045348005504500但是DataFrame.from_dictconstructor没有列参数,因此为列提供合理的名称需要一个额外的步骤:dft.

python - 如何从 pandas.DataFrame.info() 返回一个字符串

我想显示pandas.DataFrame.info()的输出在tkinter文本小部件上,所以我需要一个字符串。但是pandas.DataFrame.info()返回NoneType无论如何我可以改变这个吗?importpandasaspdimportnumpyasnpdata=np.random.rand(10).reshape(5,2)cols='a','b'df=pd.DataFrame(data,columns=cols)df_info=df.info()print(df_info)type(df_info)我想做这样的事情:info_str=""df_info=df.info

python - 从一个函数在 Pandas Dataframe 中创建多列

我是一个Python新手,所以我希望我的两个问题是清楚和完整的。我在下面以csv格式发布了实际代码和测试数据集。我已经能够构建以下代码(主要是在StackOverflow贡献者的帮助下)来使用Newton-Raphson方法计算期权合约的隐含波动率。该过程在确定隐含波动率时计算Vega。虽然我可以使用PandasDataFrameapply方法为隐含波动率创建一个新的DataFrame列,但我无法为Vega创建第二个列。当函数同时返回IV和Vega时,有没有办法创建两个单独的DataFrame列?我试过:从函数返回iv,vegadf[['myIV','Vega']]=df.apply(