如何在pandas中将字符串替换为int?

2024-09-30 16:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有熊猫的数据,如何根据价格值将“地址”转换成数字

    Area    Room    Parking    Address          Price
0   63       1      1          Shahran          1850000000
1   60       1      1          Chids            1850000000
2   79       2      1          Pardis           550000000
3   95       2      1          Shahrake         902500000
4   123      2      1          Shahrake         7000000000

Tags: 数据address地址价格数字areapriceroom
1条回答
网友
1楼 · 发布于 2024-09-30 16:40:29

IIUC,您可以通过每组地址的平均价格来计算价格:

df['rank'] = df.groupby('Address')['Price'].transform('mean').rank()

输出:

   Area  Room  Parking   Address       Price  rank
0    63     1        1   Shahran  1850000000   2.5
1    60     1        1     Chids  1850000000   2.5
2    79     2        1    Pardis   550000000   1.0
3    95     2        1  Shahrake   902500000   4.5
4   123     2        1  Shahrake  7000000000   4.5

或者,如果您更喜欢组之间的密集值:

df['rank'] = df.groupby('Address')['Price'].transform('mean').rank(method='dense')

输出:

   Area  Room  Parking   Address       Price  rank
0    63     1        1   Shahran  1850000000     2
1    60     1        1     Chids  1850000000     2
2    79     2        1    Pardis   550000000     1
3    95     2        1  Shahrake   902500000     3
4   123     2        1  Shahrake  7000000000     3

NB。使用ascending=False参数将最高价格排在第一位

相关问题 更多 >