Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何基于pandas中的多个列指定值?_Python_Pandas - Fatal编程技术网

Python 如何基于pandas中的多个列指定值?

Python 如何基于pandas中的多个列指定值?,python,pandas,Python,Pandas,是否有一种优雅的方法可以根据pandas中的数据帧中的多列分配值?假设我有一个数据框架,有两列:水果类型和颜色 import pandas as pd df = pd.DataFrame({'FruitType':['apple', 'banana','kiwi','orange','loquat'], 'Color':['red_black','yellow','greenish_yellow', 'orangered','orangeyellow']}) 我想根据“水果类型”和“颜色”列分

是否有一种优雅的方法可以根据pandas中的数据帧中的多列分配值?假设我有一个数据框架,有两列:水果类型和颜色

import pandas as pd
df = pd.DataFrame({'FruitType':['apple', 'banana','kiwi','orange','loquat'],
'Color':['red_black','yellow','greenish_yellow', 'orangered','orangeyellow']})
我想根据“水果类型”和“颜色”列分配第三列的值“isYellowSeedless”

我有一份我认为无籽的水果的清单,想检查一下颜色柱,看看它是否含有“黄色”。 我该如何优雅地把这些串在一起

这是我没有成功的尝试:

df[(df['FruitType'].isin(seedless)) & (culture_table['Color'].str.contains("yellow"))]['isYellowSeedless'] = True
遮罩一起使用

m = (df['FruitType'].isin(seedless)) & (df['Color'].str.contains("yellow"))

df.loc[m, 'isYellowSeedless'] = True
print (df)
             Color FruitType isYellowSeedless
0        red_black     apple              NaN
1           yellow    banana             True
2  greenish_yellow      kiwi              NaN
3        orangered    orange              NaN
4     orangeyellow    loquat             True
如果需要
True
False
输出:

df['isYellowSeedless'] = m
print (df)
             Color FruitType  isYellowSeedless
0        red_black     apple             False
1           yellow    banana              True
2  greenish_yellow      kiwi             False
3        orangered    orange             False
4     orangeyellow    loquat              True
对于某些标量使用的
if-else
,请使用:

对于转换为
0
1

df['isYellowSeedless'] = m.astype(int)
print (df)
             Color FruitType  isYellowSeedless
0        red_black     apple                 0
1           yellow    banana                 1
2  greenish_yellow      kiwi                 0
3        orangered    orange                 0
4     orangeyellow    loquat                 1
遮罩一起使用

m = (df['FruitType'].isin(seedless)) & (df['Color'].str.contains("yellow"))

df.loc[m, 'isYellowSeedless'] = True
print (df)
             Color FruitType isYellowSeedless
0        red_black     apple              NaN
1           yellow    banana             True
2  greenish_yellow      kiwi              NaN
3        orangered    orange              NaN
4     orangeyellow    loquat             True
如果需要
True
False
输出:

df['isYellowSeedless'] = m
print (df)
             Color FruitType  isYellowSeedless
0        red_black     apple             False
1           yellow    banana              True
2  greenish_yellow      kiwi             False
3        orangered    orange             False
4     orangeyellow    loquat              True
对于某些标量使用的
if-else
,请使用:

对于转换为
0
1

df['isYellowSeedless'] = m.astype(int)
print (df)
             Color FruitType  isYellowSeedless
0        red_black     apple                 0
1           yellow    banana                 1
2  greenish_yellow      kiwi                 0
3        orangered    orange                 0
4     orangeyellow    loquat                 1
或者你可以试试

df['isYellowSeedless']=df.loc[df.FruitType.isin(seedless),'Color'].str.contains('yellow')
df
Out[546]: 
             Color FruitType isYellowSeedless
0        red_black     apple              NaN
1           yellow    banana             True
2  greenish_yellow      kiwi              NaN
3        orangered    orange              NaN
4     orangeyellow    loquat             True
或者你可以试试

df['isYellowSeedless']=df.loc[df.FruitType.isin(seedless),'Color'].str.contains('yellow')
df
Out[546]: 
             Color FruitType isYellowSeedless
0        red_black     apple              NaN
1           yellow    banana             True
2  greenish_yellow      kiwi              NaN
3        orangered    orange              NaN
4     orangeyellow    loquat             True

非常好的解决方案。非常感谢。非常好的解决方案。非常感谢。我也很喜欢这个。不知道他们会那样被锁在一起!谢谢@它们是通过索引连接起来的。Yw:-)我也很喜欢这个。不知道他们会那样被锁在一起!谢谢@它们是通过索引连接起来的。Yw:-)