簡體   English   中英

按列添加兩個Pandas系列到數據框

[英]Append two Pandas series to a dataframe by columns

我有一個數據幀和兩個Pandas系列ac和cc,我想將這兩個系列作為列附加。 但問題是我的數據幀有時間索引,系列為整數

A='a'

cc  = pd.Series(np.zeros(len(A)*20))
ac  = pd.Series(np.random.randn(10))

我試試這個,但我有一個空的數據幀

index = pd.date_range(start=pd.datetime(2017, 1,1), end=pd.datetime(2017, 1, 2), freq='1h')

df = pd.DataFrame(index=index)

df = df.join(pd.concat([pd.DataFrame(cc).T] * len(df), ignore_index=True))
df = df.join(pd.concat([pd.DataFrame(ac).T] * len(df), ignore_index=True))

最終結果應該是這樣的:

                    cc    ac   
2017-01-01 00:00:00   1    0.247043 
2017-01-01 01:00:00   1    -0.324868 
2017-01-01 02:00:00   1    -0.004868
2017-01-01 03:00:00   1    0.047043 
2017-01-01 04:00:00   1    -0.447043 
2017-01-01 05:00:00 NaN    NaN 
...                 ...    ...

如果我們在最終結果中總是有NaN,那不是問題。


編輯:

在@piRSquared的答案之后,我必須添加一個循環,但我在鍵中出錯:

az = [cc, ac]

for i in az:
    df.join(
            pd.concat(
            [pd.Series(s.values, index[:len(s)]) for s in [i]],
            axis=1, keys=[i]
           )
         )

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
df.join(
    pd.concat(
        [pd.Series(s.values, index[:len(s)]) for s in [cc, ac]],
        axis=1, keys=['cc', 'ac']
    )
)

                      cc        ac
2017-01-01 00:00:00  0.0 -0.319653
2017-01-01 01:00:00  0.0  0.630061
2017-01-01 02:00:00  0.0 -1.648402
2017-01-01 03:00:00  0.0 -1.141017
2017-01-01 04:00:00  0.0 -0.643353
2017-01-01 05:00:00  0.0  0.718771
2017-01-01 06:00:00  0.0  0.379173
2017-01-01 07:00:00  0.0  1.799804
2017-01-01 08:00:00  0.0  0.883260
2017-01-01 09:00:00  0.0  0.788289
2017-01-01 10:00:00  0.0       NaN
2017-01-01 11:00:00  0.0       NaN
2017-01-01 12:00:00  0.0       NaN
2017-01-01 13:00:00  0.0       NaN
2017-01-01 14:00:00  0.0       NaN
2017-01-01 15:00:00  0.0       NaN
2017-01-01 16:00:00  0.0       NaN
2017-01-01 17:00:00  0.0       NaN
2017-01-01 18:00:00  0.0       NaN
2017-01-01 19:00:00  0.0       NaN
2017-01-01 20:00:00  NaN       NaN
2017-01-01 21:00:00  NaN       NaN
2017-01-01 22:00:00  NaN       NaN
2017-01-01 23:00:00  NaN       NaN
2017-01-02 00:00:00  NaN       NaN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM