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 @   He_LiangLiang  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示