簡體   English   中英

如何根據另一列中的值更新數據框的現有列?

[英]How to update an existing column of a dataframe based on values in another column?

在 python 中,我正在處理大約 21,000 套房屋的銷售數據。 每個房子(行)都有列“sqft_living”(int64)和“grade”(int64)等。 如果 sqft_living > 400,我想將每所房子的“等級”提高 2,否則提高 1。 我該怎么做呢?

df = pd.DataFrame()
df['sqft_living'] = range(396, 405)
df['grade'] = range(9)
df

所以我們有:

sqft_living     grade
0   396     0
1   397     1
2   398     2
3   399     3
4   400     4
5   401     5
6   402     6
7   403     7
8   404     8

我們應用條件:

df['grade'] = df.apply( lambda row: row.grade + 1 if row.sqft_living < 400 else row.grade + 2 , axis=1)
df

新數據框:

sqft_living     grade
0   396     1
1   397     2
2   398     3
3   399     4
4   400     6
5   401     7
6   402     8
7   403     9
8   404     10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM