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