簡體   English   中英

有沒有辦法通過python中的dict直接迭代一個系列?

[英]Is there a way to directly iterate a series through a dict in python?

試圖找出通過 Pandas 中的字典迭代系列的最佳方法。 這是我的 MRE:

s1 = pd.Series(['a','b','c','d'])

d = {'a':1, 'b':2, 'c':3, 'd':4}

我想要做的是創建 s2 這樣

s2 = pd.Series([1,2,3,4])

通過處理 s1 到 d。 到目前為止,我能想到的最好方法是

s2 = pd.Series([d[item] for item in list(s1)])

我知道可以做的選擇

s2 = pd.Series(d.values())

但我試圖解決的實際問題需要通過字典傳遞系列。

您可以使用map

s1 = pd.Series(['a','b','c','d'])
d = {'a':1, 'b':2, 'c':3, 'd':4}
s2 = s1.map(d)

輸出:

0    1
1    2
2    3
3    4

嘗試replace

s2 = s1.replace(d)
s2
Out[17]: 
0    1
1    2
2    3
3    4
dtype: int64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM