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

 

posted @ 2023-03-10 17:40  He_LiangLiang  阅读(6)  评论(0编辑  收藏  举报