我有三個熊貓系列,分別稱為Col_data:C_PV_data和C_elec_data。每個都有這些值:
Col_data:
0 625814.205486
1 782267.756857
2 938721.308229
Name: 7, dtype: object
C_PV_data:
0 2039032.206909
1 2548790.258636
2 3058548.310363
Name: 3, dtype: object
C_elec_data:
0 1337523.743009
1 1671904.678761
2 2006285.614513
Name: 0, dtype: object
我想將它們聚合到一個 DataFrame 中,以將該 DataFrame 匯出到一個.xlsx檔案,其中每一列都稱為變數。例如:
| Col_data | C_PV_data | C_elec_data |
|---|---|---|
| 625814.205486 | 2039032.206909 | 1337523.743009 |
| 782267.756857 | 2548790.258636 | 1671904.678761 |
| 938721.308229 | 3058548.310363 | 2006285.614513 |
最后,我想用一個圖表來表示每一列,其中中心值為一條線,這條線上的兩個點表示最低值和最高值。例如,圖表將是這樣的:

uj5u.com熱心網友回復:
喏,給你:
在里面
Col_data = pd.Series([
625814.205486,
782267.756857,
938721.308229])
C_PV_data = pd.Series([
2039032.206909,
2548790.258636,
3058548.310363])
C_elec_data = pd.Series([
1337523.743009,
1671904.678761,
2006285.614513])
作為一個df
df = pd.concat(
[Col_data, C_PV_data, C_elec_data], axis=1,
keys=['Col_data', 'C_PV_data', 'C_elec_data'])
>>> df
Col_data C_PV_data C_elec_data
0 625814.205486 2.039032e 06 1.337524e 06
1 782267.756857 2.548790e 06 1.671905e 06
2 938721.308229 3.058548e 06 2.006286e 06
旁注:我總是不喜歡重復。上面的以下替代方法是 DRY(不要重復自己),但可能不太清楚:
keys = ['Col_data', 'C_PV_data', 'C_elec_data']
d = locals() # just for DRY...
df = pd.concat([d[k] for k in keys], axis=1, keys=keys)
到 xlsx
假設您已經openpyxl安裝:
df.to_excel('foo.xlsx', index=False)
箱形圖
df.loc[[0,1,1,1,2]].plot.box()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/478500.html
