【发布时间】:2019-12-28 09:29:38
【问题描述】:
我的 pandas DataFrame 中有一个包含国家/地区名称的列。我想使用 if-else 条件在列上应用不同的过滤器,并且必须在具有这些条件的 DataFrame 上添加一个新列。
当前数据帧:-
Company Country
BV Denmark
BV Sweden
DC Norway
BV Germany
BV France
DC Croatia
BV Italy
DC Germany
BV Austria
BV Spain
我已经尝试过了,但在这个过程中,我必须一次又一次地定义国家/地区。
bookings_d2.loc[(bookings_d2.Country== '丹麦') | (bookings_d2.Country== 'Norway'), 'Country'] = bookings_d2.Country
在 R 中,我目前正在使用这样的 if else 条件,我想在 python 中实现同样的事情。
R 代码示例 1:
ifelse(bookings_d2$COUNTRY_NAME %in% c('丹麦','德国','挪威','瑞典','法国','意大利','西班牙','德国','奥地利','荷兰', '克罗地亚','比利时'),
as.character(bookings_d2$COUNTRY_NAME),'Others')
R 代码示例 2:
ifelse(bookings_d2$country %in% c('德国'),
ifelse(bookings_d2$BOOKING_BRAND %in% c('BV'),'Germany_BV','Germany_DC'),bookings_d2$country)
预期的数据帧:-
Company Country
BV Denmark
BV Sweden
DC Norway
BV Germany_BV
BV France
DC Croatia
BV Italy
DC Germany_DC
BV Others
BV Others
【问题讨论】:
-
sn-p 已经贴好了,谢谢
-
请使用 HTML sn-ps(图片旁边的图标)选项粘贴输入和输出。这有助于我们使用
pandas.read_clipboard()将数据作为数据帧读取。我们不能为此目的使用图片,而且我们大多数人都不想浪费时间通过输入数据来创建数据框。 -
希望它现在对你有用。
标签: python-3.x pandas numpy dataframe if-statement