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

发布于 2022-09-12 03:44:57 字数 475 浏览 21 评论 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仅此而已 2022-09-19 03:44:57

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文