我有一个pandas数据框,其中一列只包含字符串。
df= pd.DataFrame(
{
"A": [2,4,7,17,39],
"B": ["apple","apple","broccoli","rose","apple"]
}
)
我想检查这个列“B”,并查找字符串包含单词某个部分的所有时间。然后我创建了一个新的列“C”,其中包含一系列字符串,每当“app”在行中时,这些字符串都会说“fruit”,“flower”表示每当“ros”出现时,“plate”表示每当“brocc”出现时。
最终的数据帧将如下所示:
df= pd.DataFrame(
{
"A": [2,4,7,17,39],
"B": ["apple","apple","broccoli","rose","apple"],
"C": ["fruit","fruit", "vegetable", "flower", "fruit"]
}
)
最佳答案
创建词典
d = {'apple': 'fruit', 'broccoli': 'vegetable', 'rose': 'flower'}
并在
map
或replace
中使用它(map对此更快):df['B'].map(d)
Out:
0 fruit
1 fruit
2 vegetable
3 flower
4 fruit
Name: B, dtype: object
df['B'].replace(d)
Out:
0 fruit
1 fruit
2 vegetable
3 flower
4 fruit
Name: B, dtype: object
关于python - 根据另一列在pandas数据框中创建一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43708980/