DataFrameは新しい列を挿入し、マップにつながります
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
df1 = DataFrame({'城市':['北京','上海','广州'],'人口':[1000,2000,3000]})
df1
|
市 |
人口 |
0 |
北京 |
1000 |
1 |
上海 |
2000年 |
2 |
広州 |
3000 |
df1['GDP'] = Series([100,200,300])
df1
|
市 |
人口 |
GDP |
0 |
北京 |
1000 |
100 |
1 |
上海 |
2000年 |
200 |
2 |
広州 |
3000 |
300 |
gdp_map = {'北京':300,'上海':400,'广州':500}
df1['GDPMap'] = df1['城市'].map(gdp_map)
df1
|
市 |
人口 |
GDP |
GDPMap |
0 |
北京 |
1000 |
100 |
300 |
1 |
上海 |
2000年 |
200 |
400 |
2 |
広州 |
3000 |
300 |
500 |
系列によって直接挿入された列(ピット:インデックス値の変更に対応する1次2)
df1 = DataFrame({'城市':['北京','上海','广州'],'人口':[1000,2000,3000]},index=['A','B','C'])
df1
|
市 |
人口 |
あ |
北京 |
1000 |
B |
上海 |
2000年 |
C |
広州 |
3000 |
df1['GDP'] = Series([100,200,300])
df1
|
市 |
人口 |
GDP |
あ |
北京 |
1000 |
NaN |
B |
上海 |
2000年 |
NaN |
C |
広州 |
3000 |
NaN |
df1['GDP'] = Series([100,200,300], index=['A','B','C'])
df1
|
市 |
人口 |
GDP |
あ |
北京 |
1000 |
100 |
B |
上海 |
2000年 |
200 |
C |
広州 |
3000 |
300 |
シリーズで交換
s1 = Series(np.arange(10))
s1
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
dtype: int64
s1.replace(1,np.nan)
0 0.0
1 NaN
2 2.0
3 3.0
4 4.0
5 5.0
6 6.0
7 7.0
8 8.0
9 9.0
dtype: float64
s1.replace([1,2,3],[20,30,40])
0 0
1 20
2 30
3 40
4 4
5 5
6 6
7 7
8 8
9 9
dtype: int64