入门级 Pandas 选手求问,在线等

2016-09-24 14:15:29 +08:00
 guolingbing
在 Pandas 的 Series 或者 Numpy 里的 array 有没有类似 list.index()这种函数

或者我现在有两个 Series ,一个大概是这样:
1 a
2 b
3 c
4 d
5 e
另一个是这样
1 a
2 d
3 e

现在我想把第二个变成
1 a
4 d
5 e

也就是把第一个的 index 给第二个。。。要成转成 list 一个一个查又太慢了。。。
2526 次点击
所在节点    Python
9 条回复
vinceguo
2016-09-24 14:21:37 +08:00
reset_index, 然后 merge ,然后处理 index
vinceguo
2016-09-24 14:22:22 +08:00
用 pandas 先把作者那本书看完
guolingbing
2016-09-24 14:29:09 +08:00
@vinceguo 正在看这个书啊,不过一边看一边写东西,这两天学了不少了,虽然还是很挫
imn1
2016-09-24 14:44:51 +08:00
你要换个思路,其实值都一样,你从第一个用 select 就够了, select 出来复制给你想要的 target 变量就是了
1.用 isin 或者==判断符合条件 select
2.df1.merge(df, how="inner", on=columns)
3.mask
imn1
2016-09-24 14:45:41 +08:00
上面是说“赋值”,打错了“复制”
ruoyu0088
2016-09-24 17:41:58 +08:00
s1 = pd.Series(list("abcde"), index=range(1, 6))
s2 = pd.Series(list("ade"), index=range(1, 4))
s1[s1.isin(s2)]
guolingbing
2016-09-24 19:03:18 +08:00
@imn1
@ruoyu0088

赞~已经解决了,果然还是要多学习~
livc
2016-09-24 20:09:02 +08:00
@vinceguo 《利用 python 进行数据分析》吗?
guolingbing
2016-09-26 10:05:57 +08:00
@livc 嗯嗯,就是这本,写的挺棒的~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/308663

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX