草庐IT

pyspark-dataframes

全部标签

python - 如何用另一个的 MultiIndex 对一个 MultiIndex DataFrame 进行切片

我有一个带有3级MultiIndex的pandas数据框。我正在尝试根据对应于两个级别的值列表提取此数据帧的行。我有这样的事情:ix=pd.MultiIndex.from_product([[1,2,3],['foo','bar'],['baz','can']],names=['a','b','c'])data=np.arange(len(ix))df=pd.DataFrame(data,index=ix,columns=['hi'])print(df)hiabc1foobaz0can1barbaz2can32foobaz4can5barbaz6can73foobaz8can9barb

python - 如何用另一个的 MultiIndex 对一个 MultiIndex DataFrame 进行切片

我有一个带有3级MultiIndex的pandas数据框。我正在尝试根据对应于两个级别的值列表提取此数据帧的行。我有这样的事情:ix=pd.MultiIndex.from_product([[1,2,3],['foo','bar'],['baz','can']],names=['a','b','c'])data=np.arange(len(ix))df=pd.DataFrame(data,index=ix,columns=['hi'])print(df)hiabc1foobaz0can1barbaz2can32foobaz4can5barbaz6can73foobaz8can9barb

python - 如何在 Pandas Dataframe 上分组后进行条件计数?

我有以下数据框:key1key20aone1atwo2bone3btwo4aone5ctwo现在,我想按key1对数据框进行分组,并用值"one"对列key2进行计数以获得此结果:key10a21b12c0我只是得到通常的计数:df.groupby(['key1']).size()但我不知道如何插入条件。我尝试过这样的事情:df.groupby(['key1']).apply(df[df['key2']=='one'])但我不能再进一步了。我该怎么做? 最佳答案 我认为你需要先添加条件:#ifneedalsocategorycwit

python - 如何在 Pandas Dataframe 上分组后进行条件计数?

我有以下数据框:key1key20aone1atwo2bone3btwo4aone5ctwo现在,我想按key1对数据框进行分组,并用值"one"对列key2进行计数以获得此结果:key10a21b12c0我只是得到通常的计数:df.groupby(['key1']).size()但我不知道如何插入条件。我尝试过这样的事情:df.groupby(['key1']).apply(df[df['key2']=='one'])但我不能再进一步了。我该怎么做? 最佳答案 我认为你需要先添加条件:#ifneedalsocategorycwit

python - 从大型元组/行列表中有效地构建 Pandas DataFrame

我继承了一个以Stata.dta格式保存的数据文件。我可以使用scikits.statsmodelsgenfromdta()函数加载它。这会将我的数据放入一维NumPy数组中,其中每个条目是一行数据,存储在24元组中。In[2]:st_time=time.time();initialload=sm.iolib.genfromdta("/home/myfile.dta");ed_time=time.time();print(ed_time-st_time)666.523324013In[3]:type(initialload)Out[3]:numpy.ndarrayIn[4]:initi

python - 从大型元组/行列表中有效地构建 Pandas DataFrame

我继承了一个以Stata.dta格式保存的数据文件。我可以使用scikits.statsmodelsgenfromdta()函数加载它。这会将我的数据放入一维NumPy数组中,其中每个条目是一行数据,存储在24元组中。In[2]:st_time=time.time();initialload=sm.iolib.genfromdta("/home/myfile.dta");ed_time=time.time();print(ed_time-st_time)666.523324013In[3]:type(initialload)Out[3]:numpy.ndarrayIn[4]:initi

python - 如何从 namedtuple 实例列表中创建 pandas DataFrame(带有索引或多索引)?

简单示例:>>>fromcollectionsimportnamedtuple>>>importpandas>>>Price=namedtuple('Price','tickerdateprice')>>>a=Price('GE','2010-01-01',30.00)>>>b=Price('GE','2010-01-02',31.00)>>>l=[a,b]>>>df=pandas.DataFrame.from_records(l,index='ticker')Traceback(mostrecentcalllast)...KeyError:'ticker'更难的例子:>>>df2=p

python - 如何从 namedtuple 实例列表中创建 pandas DataFrame(带有索引或多索引)?

简单示例:>>>fromcollectionsimportnamedtuple>>>importpandas>>>Price=namedtuple('Price','tickerdateprice')>>>a=Price('GE','2010-01-01',30.00)>>>b=Price('GE','2010-01-02',31.00)>>>l=[a,b]>>>df=pandas.DataFrame.from_records(l,index='ticker')Traceback(mostrecentcalllast)...KeyError:'ticker'更难的例子:>>>df2=p

python - Groupby Pandas DataFrame 并计算一列的平均值和标准偏差,并将标准添加为带有 reset_index 的新列

我有一个如下所示的PandasDataFrame:abcd0Apple3571Banana4482Cherry7133Apple347我想按“a”列对行进行分组,同时将“c”列中的值替换为分组行中值的平均值,并添加另一列,其平均值为“c”列中值的标准偏差计算出来的。对于所有被分组的行,“b”或“d”列中的值是恒定的。因此,所需的输出将是:abcde0Apple34.570.7071071Banana44802Cherry7130实现这一目标的最佳方法是什么? 最佳答案 您可以使用groupby-aggoperation:In[38]

python - Groupby Pandas DataFrame 并计算一列的平均值和标准偏差,并将标准添加为带有 reset_index 的新列

我有一个如下所示的PandasDataFrame:abcd0Apple3571Banana4482Cherry7133Apple347我想按“a”列对行进行分组,同时将“c”列中的值替换为分组行中值的平均值,并添加另一列,其平均值为“c”列中值的标准偏差计算出来的。对于所有被分组的行,“b”或“d”列中的值是恒定的。因此,所需的输出将是:abcde0Apple34.570.7071071Banana44802Cherry7130实现这一目标的最佳方法是什么? 最佳答案 您可以使用groupby-aggoperation:In[38]