第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何循環(huán)遍歷系列以生成數(shù)據(jù)框并向其中添加列?

如何循環(huán)遍歷系列以生成數(shù)據(jù)框并向其中添加列?

暮色呼如 2022-04-23 21:25:08
我有一堆系列要堆疊,制作一個數(shù)據(jù)框,然后通過相同的過程將其他系列添加到該數(shù)據(jù)框。我已經(jīng)在 jupyter notebook 中一步一步地完成了它,但是當我嘗試在 jupyter notebook 中創(chuàng)建一個 for 語句和一個函數(shù)來做我可以做的事情(逐步)時,程序失敗給我一個錯誤。代碼:import pandas as pddata = {'sum':[140.0, 45.0, 17907.0], 'mean':[35.00, 11.25, 4476.75],'count':[4, 4, 4]}df = pd.DataFrame(data, index=['age', 'offspring', 'total_pop'])data2 = {'sum':[14.0, 46.0, 14607.0], 'mean':[345.00, 121.25, 5476.75], 'count':[2, 2, 2]}df2 = pd.DataFrame(data2, index=['age', 'offspring', 'total_pop'])data3 = {'sum':[528.0, 15.0, 1407.0], 'mean':[700.00, 552.25, 4156.75], 'count':[3, 3, 3]}df3 = pd.DataFrame(data3, index=['age', 'offspring', 'total_pop'])def dosomething(df):        stacked = df.stack()        df = pd.Series(stacked)        df.to_frame()        dfd = pd.DataFrame(df)        df = df.join(dfd)        print(dfd)total_df = [(df1), (df2), (df3,)]for n in range(0, len(total_df)):        total_df[n] = dosomething(total_df[n])預期:                      1         2        3age       sum      140.00     14.00   528.00          mean      35.00    345.00   700.00          count      4.00      2.00     3.00offspring sum       45.00     46.00    15.00          mean      11.25    121.25   552.25          count      4.00      2.00     3.00total_pop sum    17907.00  14607.00  1407.00          mean    4476.75   5476.75  4156.75          count      4.00      2.00     3.00實際錯誤:ValueError:列重疊但未指定后綴:RangeIndex(start=0, stop=1, step=1)
查看完整描述

3 回答

?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

嘗試concat:


dfs = [df,df2, df3]

pd.concat([df.stack() for df in dfs], axis=1)

輸出:


                        0         1        2

age       sum      140.00     14.00   528.00

          mean      35.00    345.00   700.00

          count      4.00      2.00     3.00

offspring sum       45.00     46.00    15.00

          mean      11.25    121.25   552.25

          count      4.00      2.00     3.00

total_pop sum    17907.00  14607.00  1407.00

          mean    4476.75   5476.75  4156.75

          count      4.00      2.00     3.00


查看完整回答
反對 回復 2022-04-23
?
慕斯709654

TA貢獻1840條經(jīng)驗 獲得超5個贊

如果您不需要循環(huán),這將起作用:


# stack dataframes

df = pd.DataFrame(df.stack(), columns=[1])

df2 = pd.DataFrame(df2.stack(), columns=[2])

df3 = pd.DataFrame(df3.stack(), columns=[3])


#join on index

final_df = df.join(df2).join(df3)

如果您需要使用循環(huán),您可以這樣做:


# stack first df

final_df = pd.DataFrame(df.stack(), columns=[1])

# loop through other dfs

for n, next_df in {2: df2, 3: df3}.items():

    next_df = pd.DataFrame(next_df.stack(), columns=[n])

    final_df = final_df.join(next_df)


查看完整回答
反對 回復 2022-04-23
?
慕絲7291255

TA貢獻1859條經(jīng)驗 獲得超6個贊

您可以使用pd.concatwith 選項在決賽上keys做一個,而不是每個stackdfstackdf


df_list = [df, df2, df3]

pd.concat(df_list, keys=range(len(df_list)), axis=1).stack()


Out[127]:

                        0         1        2

age       sum      140.00     14.00   528.00

          mean      35.00    345.00   700.00

          count      4.00      2.00     3.00

offspring sum       45.00     46.00    15.00

          mean      11.25    121.25   552.25

          count      4.00      2.00     3.00

total_pop sum    17907.00  14607.00  1407.00

          mean    4476.75   5476.75  4156.75

          count      4.00      2.00     3.00


查看完整回答
反對 回復 2022-04-23
  • 3 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號