Python 替换dataframe中的值

Python 替换dataframe中的值,python,pandas,Python,Pandas,我想编辑熊猫数据框,您可以从这里获得数据集。 正如您所看到的,每个“区域”都有一些“类别”,每个“类别”都有不同的“价格”。我想统一每个“区域”的“类别”,并且“类别”的值应该是每个“区域”的底部。换句话说,“类别”的某些值将发生如下变化 之前: 面积:A,类别:1,价格:500 之后: 面积:A,类别:2,价格:500 我知道可以按透视表编辑此数据帧,如下所示。但在这种情况下,我无法统一和显示“类别”的值 如果您能提供统一类别值的想法,我将不胜感激。您可以尝试一下,尽管这可能不是最好的选择

我想编辑熊猫数据框,您可以从这里获得数据集。

正如您所看到的,每个“区域”都有一些“类别”,每个“类别”都有不同的“价格”。我想统一每个“区域”的“类别”,并且“类别”的值应该是每个“区域”的底部。换句话说,“类别”的某些值将发生如下变化

之前: 面积:A,类别:1,价格:500

之后: 面积:A,类别:2,价格:500

我知道可以按透视表编辑此数据帧,如下所示。但在这种情况下,我无法统一和显示“类别”的值


如果您能提供统一类别值的想法,我将不胜感激。

您可以尝试一下,尽管这可能不是最好的选择

使用您提到的代码后:

df_new=pd.pivot_表(df,values=“price”,index=[“area”,],aggfunc='sum')
我创建了一个函数,用于查找每个区域的最后一个类别(其中df是原始数据帧):

def查找类别(类别,列表类别):
列表_categories.append(df[df['area']==cat].iloc[-1].category)
然后使用for循环搜索每个区域的最后一个类别,并将其添加到新的类别列中。然后,如果需要,可以对列重新排序:

list_categories=[]
对于df_new.index中的区域:
查找类别(区域、列表类别)
df_新['category']=列表_类别
df_new=df_new[[‘类别’、‘价格’]]
产出将是:

类别价格
地区
A 2900
B 1350
C4800
D 1500

你能在问题本身的图像中提供数据吗?这样会更容易实施。据我所知,你在正确的轨道上,你在输出中缺少什么?谢谢你的回答。我添加了数据集。非常感谢!这是一个很大的帮助。
pd.pivot_table(df, values="price", index=["area",], aggfunc='sum')