草庐IT

pyspark-dataframes

全部标签

python - 更改 DataFrame 最后一行中的元素

我在pandas中设置了一个简单的DataFrame:a=pandas.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['a','b','c'])>>>printaabc012314562789我希望能够更改最后一行中的单个元素。在pandas==0.13.1中,我可以使用以下内容:a.iloc[-1]['a']=77>>>printaabc0123145627789但是在更新到pandas==0.14.1之后,我在执行此操作时收到以下警告:SettingWithCopyWarning:Avalueistryingtobesetonacopyo

python - 从 DataFrame 中的特定列中选择非空行,并对其他列进行子选择

我有一个包含多个库的数据帧,所以我选择了其中的一些库来创建这样的变量xtrain=df[['Age','Fare','Group_Size','deck','Pclass','Title']]我想从这些库中删除主dataFrame中的Survive库是nan的所有原始数据。 最佳答案 您可以根据notnull()将bool掩码传递给您的df“生存”列并选择感兴趣的列:In[2]:#makesomedatadf=pd.DataFrame(np.random.randn(5,7),columns=['Survive','Age','Fa

python - 如何估计pyspark中数据框的实际大小?

如何确定数据帧的大小?现在我估计数据框的实际大小如下:headers_size=keyforkeyindf.first().asDict()rows_size=df.map(lambdarow:len(valueforkey,valueinrow.asDict()).sum()total_size=headers_size+rows_size它太慢了,我正在寻找更好的方法。 最佳答案 来自TamasSzuromi的精彩帖子http://metricbrew.com/how-to-estimate-rdd-or-dataframe-r

python - 必须使用某种集合调用索引 : assign column name to dataframe

我有reweightTarget如下,我想将它转换为pandasDataframe。但是,我收到以下错误:TypeError:Index(...)mustbecalledwithacollectionofsomekind,'t'waspassed如果我删除columns='t',它工作正常。谁能解释一下这是怎么回事?reweightTargetTradingdates2004-01-314.352004-02-294.462004-03-314.442004-04-304.392004-05-314.502004-06-304.532004-07-314.632004-08-314.5

python - 将 Spacy Parser 应用于具有多处理功能的 Pandas DataFrame

假设我有一个数据集,比如iris=pd.DataFrame(sns.load_dataset('iris'))我可以使用Spacy和.apply将字符串列解析为标记(我的真实数据集当然每个条目有>1个单词/标记)importspacy#(Ihaveversion1.8.2)nlp=spacy.load('en')iris['species_parsed']=iris['species'].apply(nlp)结果:sepal_length...speciesspecies_parsed01.4...setosa(setosa)11.4...setosa(setosa)21.3...se

python - 使用 Python 函数高效处理 DataFrame 行?

在我们使用Pandas的代码中的许多地方,我们都有一些Python函数process(row)。该函数在DataFrame.iterrows()上使用,获取每个row,并进行一些处理,然后返回一个值,我们最终将其收集到一个新的Series中。我意识到这种使用模式规避了numpy/Pandas堆栈的大部分性能优势。使这种使用模式高效的最佳方法是什么尽可能?我们能否在不重写大部分代码的情况下做到这一点?这个问题的另一个方面:所有这些函数都可以转换为numpy高效的表示吗?关于numpy/scipy/Pandas堆栈,我还有很多要了解的,但似乎对于真正的任意逻辑,您有时可能只需要使用像上面那

python - 来自带有列表的字典的 Pandas DataFrame

我有一个API可以将单行数据作为Python字典返回。大多数键都有一个值,但有些键的值是列表(甚至是列表列表或字典列表)。当我将字典放入pd.DataFrame以尝试将其转换为pandasDataFrame时,它​​会抛出“数组必须具有相同长度”的错误。这是因为它无法处理具有多个值的键(即具有列表值的键)。如何让pandas将列表视为“单一值”?举个例子:data={'building':'WhiteHouse','DC?':True,'occupants':['Barack','Michelle','Sasha','Malia']}我想把它变成这样的DataFrame:ixbuild

python - PySpark 中等效的 Scala 案例类是什么?

您将如何在PySpark中使用和/或实现等效的案例类? 最佳答案 Asmentioned通过AlexHall命名产品类型的真正等价物是namedtuple。不同于Row,在theotheranswer中建议,它有许多有用的属性:具有明确的形状,可以可靠地用于结构模式匹配:>>>fromcollectionsimportnamedtuple>>>>>>FooBar=namedtuple("FooBar",["foo","bar"])>>>foobar=FooBar(42,-42)>>>foo,bar=foobar>>>foo42>>>

python - 在一行中的一行 pandas DataFrame 中分配多个列值

我正在尝试将多个值分配给DataFrame中的一行,我需要正确的语法。请参阅下面的代码。importpandasaspddf=pd.DataFrame({'A':range(10),'B':'','C':0.0,'D':0.0,'E':0.0,})#Worksfinedf['A'][2]='tst'#Isthereawaytoassignmultiplevaluesinasinglelineandifsowhatisthecorrectsyntaxdf[['A','B','C','D','E']][3]=['V1',4.3,2.2,2.2,20.2]感谢帮助

python - 齐柏林飞艇 : Scala Dataframe to python

如果我有一个带有DataFrame的Scala段落,我可以与python共享和使用它吗?(据我了解,pyspark使用py4j)我试过这个:Scala段落:x.printSchemaz.put("xtable",x)Python段落:%pysparkimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsthe_data=z.get("xtable")printthe_datasns.set()g=sns.PairGrid(data=the_data,x_vars=dependent_va