[英]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.