python pandas DataFrame,Series進一步理解

 

更進一步學習和理解DataFrame,Series

多個Series 拼湊成一個 dict, 然後將dict轉爲 DataFrame結構

#!/usr/bin/evn python

import numpy as np
import pandas as pd

serA = pd.Series({"000001.CS":1.2, "000002.CS":1.3})
print("serA:", serA)
print("serA.index:", serA.index)
print("serA.values:", serA.values)

serB = pd.Series({"000003.CS":10.2, "000004.CS":10.3, "000005.CS":10.3})
serC = pd.Series({"000006.CS":20.2,"000004.CS":20.3,"000001.CS":20.3})
serD = pd.Series({"000007.CS":30.2, "000008.CS":31.3, "000009.CS":31.5, "000010.CS":40.3, "000011.CS":5.3})
serE = pd.Series(dtype='float64')

results={}
results["serA"] = serA
results["serB"] = serB
results["serC"] = serC
results["serD"] = serD
#results["serE"] = pd.Series(np.nan,index=["EMPTY_CODE"]);
results["serE"] = serE

print("result:", results)
dt = 20230310
df = pd.DataFrame(results)
# 去掉 EMPTY_CODE 這個 index
#df = df.filter(like="CS", axis=0)
df['dt'] = dt
df['symbol'] = df.index.values
print("df:",df)
df.reset_index(drop=True, inplace=True)
print("df.reset_index:",df)
serA: 000001.CS    1.2
000002.CS    1.3
dtype: float64
serA.index: Index(['000001.CS', '000002.CS'], dtype='object')
serA.values: [1.2 1.3]
result: {'serA': 000001.CS    1.2
000002.CS    1.3
dtype: float64, 'serB': 000003.CS    10.2
000004.CS    10.3
000005.CS    10.3
dtype: float64, 'serC': 000006.CS    20.2
000004.CS    20.3
000001.CS    20.3
dtype: float64, 'serD': 000007.CS    30.2
000008.CS    31.3
000009.CS    31.5
000010.CS    40.3
000011.CS     5.3
dtype: float64, 'serE': Series([], dtype: float64)}
df:            serA  serB  serC  serD  serE        dt     symbol
000001.CS   1.2   NaN  20.3   NaN   NaN  20230310  000001.CS
000002.CS   1.3   NaN   NaN   NaN   NaN  20230310  000002.CS
000003.CS   NaN  10.2   NaN   NaN   NaN  20230310  000003.CS
000004.CS   NaN  10.3  20.3   NaN   NaN  20230310  000004.CS
000005.CS   NaN  10.3   NaN   NaN   NaN  20230310  000005.CS
000006.CS   NaN   NaN  20.2   NaN   NaN  20230310  000006.CS
000007.CS   NaN   NaN   NaN  30.2   NaN  20230310  000007.CS
000008.CS   NaN   NaN   NaN  31.3   NaN  20230310  000008.CS
000009.CS   NaN   NaN   NaN  31.5   NaN  20230310  000009.CS
000010.CS   NaN   NaN   NaN  40.3   NaN  20230310  000010.CS
000011.CS   NaN   NaN   NaN   5.3   NaN  20230310  000011.CS
df.reset_index:     serA  serB  serC  serD  serE        dt     symbol
0    1.2   NaN  20.3   NaN   NaN  20230310  000001.CS
1    1.3   NaN   NaN   NaN   NaN  20230310  000002.CS
2    NaN  10.2   NaN   NaN   NaN  20230310  000003.CS
3    NaN  10.3  20.3   NaN   NaN  20230310  000004.CS
4    NaN  10.3   NaN   NaN   NaN  20230310  000005.CS
5    NaN   NaN  20.2   NaN   NaN  20230310  000006.CS
6    NaN   NaN   NaN  30.2   NaN  20230310  000007.CS
7    NaN   NaN   NaN  31.3   NaN  20230310  000008.CS
8    NaN   NaN   NaN  31.5   NaN  20230310  000009.CS
9    NaN   NaN   NaN  40.3   NaN  20230310  000010.CS
10   NaN   NaN   NaN   5.3   NaN  20230310  000011.CS

Process finished with exit code 0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章