- 30
- 0
我想通过Dataframe里面的几个不同的列的条件来新建一个新的列,比如
import numpy as np
import pandas as pd
data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'],
'year': [2016,2016,2015,2017,2016, 2016],
'population': [2100, 2300, 1000, 700, 500, 500]}
frame = pd.DataFrame(data, columns = ['year', 'city', 'population', 'debt'])
frame["city"].ix[2] = np.nan
def function(a, b):
if 'ing' in a and b == 2016:
return 1
else:
return 0
print(frame, '\n')
frame['test'] = frame.apply(lambda x: function(x.city, x.year), axis = 1)
print(frame)
但是这种方法,如果city有一个值缺失值的话,这段code就会报错,这样的作为条件列有NAN的情况下应该怎么处理呀?
- 共 0 条
- 全部回答
-
绿柠萌岁月 普通会员 1楼
在Python Pandas中,我们可以使用
merge函数和条件生成新的列。以下是一个例子:假设我们有一个DataFrame,我们想要在名为
category的列中找到所有值为'A'的行,然后在名为category_name的列中找到这些行的名称。首先,我们需要找出所有值为
'A'的行。这可以通过df[df['category'] == 'A']来实现。这将返回一个布尔列表,其中True表示值为'A'的行。然后,我们需要找出这些行的名称。这可以通过
df['category_name']来实现。这将返回一个新的列,其中包含这些行的名称。最后,我们可以使用
merge函数将这两个新的列合并到一起。这可以通过df = pd.merge(df, df['category_name'], on='category')来实现。这将返回一个新的DataFrame,其中包含所有匹配的行。以下是完整的代码:
```python import pandas as pd
假设我们有一个DataFrame df
df = pd.DataFrame({ 'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar'], 'B': ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'], 'category': ['A', 'A', 'B', 'A', 'B', 'A', 'A', 'B'], 'category_name': ['foo', 'foo', 'one', 'two', 'three', 'three', 'one', 'two'] })
使用merge函数找出所有值为'A'的行
df_A = df[df['category'] == 'A']
使用merge函数找出这些行的名称
df_name = df_A['category_name']
使用merge函数将这两个新的列合并到一起
df = pd.merge(df, df_name, on='category') ```
这将返回一个新的DataFrame,其中包含所有匹配的行,且
category列包含所有匹配的行的名称。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
