Python:np.哪里多条件

2024-09-28 22:25:03 发布

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

我有df并尝试创建新列,其中一列中的数字是一些短语。 我使用

df["Family"] = np.where(df["Qfamilystatus"] == 1, "Не замужем / Не женат", "Замужем / женат / живу в гражданском браке", "Разведен/ живем порознь", "Вдовец / вдова")

我是说1 - Не замужем / Не женат, 2 - Замужем / женат / живу в гражданском браке, 3 - Разведен/ живем порознь, 4 - Вдовец / вдова 但它返回TypeError: function takes at most 3 arguments (5 given) 是另一种方法吗?在


Tags: 方法mostdfnpfunction数字wherefamily
1条回答
网友
1楼 · 发布于 2024-09-28 22:25:03

我想你需要^{}函数。在

样品:

import pandas as pd


df = pd.DataFrame({'Qfamilystatus':[1,2,3,4]})
print (df)
   Qfamilystatus
0              1
1              2
2              3
3              4

d = {1:"Не замужем / Не женат", 
     2:"Замужем / женат / живу в гражданском браке", 
     3:"Разведен/ живем порознь", 
     4: "Вдовец / вдова"}

df['new'] = df.Qfamilystatus.map(d)
print (df)
   Qfamilystatus                                         new
0              1                       Не замужем / Не женат
1              2  Замужем / женат / живу в гражданском браке
2              3                     Разведен/ живем порознь
3              4                              Вдовец / вдова

然后您可以将新列转换为category,这样可以节省内存:

^{pr2}$

相关问题 更多 >