簡體   English   中英

熊貓數據框更改列值

[英]pandas dataframe change column value

我有這樣的python dict:

keysdict={'date': {20: '201012', 21: '201101', 22: '201102', 23: '201103', 24: '201104', 25: '201105', 26: '201106', 27: '201107', 28: '201108', 29: '201109', 30: '201110', 31: '201111'}}

我有這樣的熊貓數據框

A    B
20  0.123
21  2.123
22  4.45
23  3.2
24  3.1
25  3.9
26  4.2

現在,我想添加一個額外的列C ,它從Column A字典鍵獲取各自的值。 像下面一樣

A    B      C
20  0.123  201012 
21  2.123  201101
22  4.45   201102
23  3.2    201103
24  3.1    201104
25  3.9    201105
26  4.2    201106

我試過了

df.loc[:,'C']=keysdict['date'][df.loc['A']]

但是低於錯誤

KeyError:“標簽[A]不在[索引]中

試試地圖:

df['C'] = df['A'].map(keysdict['date'])

如果列“ A”是索引:

df['C'] = df.map(keysdict['date'])

您無需申請即可直接使用地圖

df['C'] = df['A'].map(keysdict['date'])

    A   B       C
0   20  0.123   201012
1   21  2.123   201101
2   22  4.450   201102
3   23  3.200   201103
4   24  3.100   201104
5   25  3.900   201105
6   26  4.200   201106

df.loc['A']引用標記為'A'的 ,並且您需要column ,該可以作為df['A'] 這是正確的代碼:

df = pd.DataFrame({'A':[20,21,22,23], 'B':[0.123,2.123,4.45,3.2]})
#    A      B
#0  20  0.123
#1  21  2.123
#2  22  4.450
#3  23  3.200

密鑰字典示例:

keysdict = {'date' : {20:0,21:1,22:2,23:3}}

df['C'] = df['A'].apply(lambda x: keysdict['date'][x])
#    A      B  C
#0  20  0.123  0
#1  21  2.123  1
#2  22  4.450  2
#3  23  3.200  3

暫無
暫無

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

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