我有這樣的df:
CODE STATION PLACE SECTOR ALTITUDE MONTH YEARS_OF_STATION
0 103036 NaN TUMBES COSTA NORTE 70 ENE 27
1 103036 NaN TUMBES COSTA NORTE 70 ENE 27
2 103036 NaN TUMBES COSTA NORTE 70 ENE 27
3 103036 NaN TUMBES COSTA NORTE 70 ENE 27
4 103036 NaN TUMBES COSTA NORTE 70 ENE 27
... ... ... ... ... ... ...
4022090 117043 PAUCARANI TACNA SIERRA SUR OCCIDENTAL 4556 DIC27
4022091 117043 PAUCARANI TACNA SIERRA SUR OCCIDENTAL 4556 DIC27
4022092 117043 PAUCARANI TACNA SIERRA SUR OCCIDENTAL 4556 DIC 27
4022093 117043 PAUCARANI TACNA SIERRA SUR OCCIDENTAL 4556 DIC 27
4022094 117043 PAUCARANI TACNA SIERRA SUR OCCIDENTAL 4556 DIC 27
我正在用這段代碼創建一個透視表:
我正在用這段代碼創建一個透視表。
table_years=pd.pivot_table(df,index=['CODE','STATION','PLACE',
'SECTOR','ALTITUDE'],columns=['MONTH'],values=['YEARS_OF_STATION'] )
我在CODE列中有371個唯一的值,但是table_years只顯示351個值。你知道為什么會發生這種情況嗎?
我將感謝任何幫助或建議。
預先感謝。
uj5u.com熱心網友回復:
這是因為在你的資料集中有NaNs,你應該指定dropna=False:
table_years=pd. pivot_table(df, index=['CODE','STATION', 'PLACE', 'SECTOR','ALTITUDE'] 。
columns=['MONTH']。
values=['YEARS_OF_STATION']。
dropna=False)
uj5u.com熱心網友回復:
注意你在index STATION中有NaN值,如果你想保持原來的CODE,那么你需要用fillna來填充這個值。
df
index1 index2 列值
0 1 1.0 1 1 1
1 1 1.0 2 1
2 1 1.0 1 1
3 2 2.0 2 1
4 3 NaN 1 1
pd.pivot_table(df,index=['index1','index2'],columns=['columns'],value=['value'])
價值
列 1 2
index1 index2
1 1.0 1.0 1.0
2 2.0 NaN 1.0
在fillna
pd.pivot_table(df. fillna(0),index=['index1', 'index2'], columns=['columns'],values=['values'])
價值
列 1 2
index1 index2
1 1.0 1.0 1.0
2 2.0 NaN 1.0
3 0.0 1.0 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/331563.html
標籤:
上一篇:在java中實作一個編碼器
