草庐IT

df_housing

全部标签

Python pandas : Why does df. iloc[ :, :-1]. 我的训练数据的值只选择到倒数第二列?

简单来说,对于同一个训练数据帧df,当我使用X=df.iloc[:,:-1].values,它将选择数据框的倒数第二列而不是最后一列(这是我想要的,但这是一种奇怪的行为我以前从未见过),我知道这是倒数第二列的值和该行的最后一列的值不同。但是,使用y=df.iloc[:,-1].values给我最后一列值的行向量,这正是我想要的。为什么X的负数1反而给我倒数第二列的值? 最佳答案 我认为您在df中只有两列,因为如果有更多列,iloc选择没有最后的所有列:df=pd.DataFrame({'A':[1,2,3],'B':[4,5,6],

Python循环遍历Excel工作表,放入一个df

我有一个excel文件foo.xlsx,其中包含大约40张sh1、sh2等。每张纸的格式为:areacntname\nparty1name\nparty2blah955word375在每张工作表中,我想将格式为name\nparty的变量重命名为仅将party作为标签。示例输出:areacntparty1party2sheetbacon955sh1spam375sh1eggs2184sh2我正在读取文件:book=pd.ExcelFile(path)然后想知道我是否需要做:forfinfilelist:df=pd.ExcelFile.parse(book,sheetname=??)'m

python - 从 python 中的 df -h 输出中选择特定列

我正在尝试创建一个简单的脚本,它将从unixdf-h命令中选择特定的列。我可以使用awk来执行此操作,但我们如何在python中执行此操作?这是df-h输出:FilesystemSizeUsedAvailUse%Mountedon/dev/mapper/vg_base-lv_root28G4.8G22G19%/tmpfs814M176K814M1%/dev/shm/dev/sda1485M120M340M27%/boot我想要这样的东西:第1列:Filesystem/dev/mapper/vg_base-lv_roottmpfs/dev/sda1第2列:Size28G814M485M

python - 如何从 DF 中获取在 pyspark (spark) 中包含值 None 的行

在下面的示例中,df.a==1谓词返回正确的结果,但是df.a==None在应该返回1时返回0。l=[[1],[1],[2],[2],[None]]df=sc.parallelize(l).toDF(['a'])df#DataFrame[a:bigint]df.collect()#[Row(a=1),Row(a=1),Row(a=2),Row(a=2),Row(a=None)]df.where(df.a==1).count()#2Ldf.where(df.a==None).count()#0L使用星火1.3.1 最佳答案 您可以使用

python - 在包含最长列表的 Pandas DF 中查找列的名称

给定一个PandasDataFrame,其列表存储在多个列中,是否有一种简单的方法可以找到包含每行最长列表的列名?例如,使用此数据:positivenegativeneutral1[marvel,moral,bold,destiny][][view,should]2[beautiful][complicated,need][]3[celebrate][crippling,addiction][big]我想将“正”标识为第1行的最长列表列,将“负”标识为第2行和第3行。我想我可以使用str.len()来计算列表长度并使用idmax()来获取列名,但不知道如何将它们结合起来。

python - pandas df.loc[z,x]=y 如何提高速度?

我已经确定了一个pandas命令timeseries.loc[z,x]=y负责一次迭代中花费的大部分时间。现在我正在寻找更好的方法来加速它。循环甚至不包括50k个元素(生产目标是~250k或更多),但已经需要20秒了。这是我的代码(忽略上半部分,它只是计时助手)defpopulateTimeseriesTable(df,observable,timeseries):"""Gothroughallrowsofdfandputtheobservableintothetimeseriesatcorrectrow(symbol),column(tsMean)."""print"len(df.i

python - 如何在 df.iterrows() 期间删除 Pandas 数据框中的当前行

我想在迭代期间删除当前行-使用df.iterrows(),如果它的特定列在我的if条件下失败。例如forindex,rowindf:ifrow['A']==0:#remove/dropthisrowfromthedfdeldf[index]#Itriedthisbutitgivesmeanerror这可能是一件非常简单的事情,但我仍然不知道该怎么做。非常感谢您的帮助! 最佳答案 我不知道这是不是伪代码但是你不能像这样删除一行,你可以drop它:In[425]:df=pd.DataFrame({'a':np.random.randn(

python - 在 pandas df 中查找 timedelta 对象的均值和标准差

我想通过dataframe计算银行timedelta的mean和standarddeviation如下所示的两列。当我运行代码(也如下所示)时,出现以下错误:pandas.core.base.DataError:Nonumerictypestoaggregate我的数据框:bankdiffBankofJapan0days00:00:57.416000ReserveBankofAustralia0days00:00:21.452000ReserveBankofNewZealand55days12:39:32.269000U.S.FederalReserve8days13:27:11.38

python - Pandas df.describe() ,是否可以在不转置的情况下按行进行?

Pandasdf.describe()是一个非常有用的方法来概览你的df。但是,它按列描述,我想改为对行进行概述。有没有办法让它在不转置df的情况下“按行”工作? 最佳答案 使用apply并传递axis=1来逐行调用describe:In[274]:df=pd.DataFrame(np.random.randn(4,5))dfOut[274]:0123400.6518630.738034-0.477668-0.5616990.0475001-1.565093-0.6715510.537272-0.9565200.3011562-0.

python - 为什么你可以在 Pandas 中做 df.loc(False) ['value' ]?

我没有看到任何关于pandas的文档来解释传递给loc的参数False。谁能解释()和[]在这种情况下有何不同? 最佳答案 df.loc是_LocIndexer的实例类,恰好是_NDFrameIndexer的子类类。当你执行df.loc(...)时,它看起来是__call__方法被调用,它无害地返回它自己的另一个实例。例如:In[641]:df.locOut[641]:In[642]:df.loc()()()()()()Out[642]:...等等。(...)中传递的值不会被实例以任何方式使用。另一方面,传递给[...]的属性被发送