pandas根据值判断写入同一行不同列

pandas根据值判断写入同一行不同列

有一excel文件,有上千条数据,需要根据“地点”这一列,如果为北京,在“类型”这列写入‘A’,为上海,在“类型”这列写入‘B’,为广州,在“类型”这列写入‘C’,如果不用excel公式用pandas怎样实现?

序号日期地点金额类型
12020/04/09北京100.00
22020/04/10上海90.00
32020/04/10广州80.00


回答:

numpy.where 可以。

In [1]: import pandas as pd     

In [2]: import numpy as np

In [3]: df = pd.DataFrame({'city': ['北京', '上海', '广州']})

In [4]: df['t'] = np.where(df.city == '北京', 'A', np.where(df.city == '上海', 'B', np.where(df.city == '广州', 'C', '?')))

In [5]: df

Out[5]:

city t

0 北京 A

1 上海 B

2 广州 C

以上是 pandas根据值判断写入同一行不同列 的全部内容, 来源链接: utcz.com/a/156530.html

回到顶部