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

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

如何在函數(shù)內(nèi)重新索引熊貓數(shù)據(jù)框?

如何在函數(shù)內(nèi)重新索引熊貓數(shù)據(jù)框?

躍然一笑 2021-10-12 16:24:20
我正在嘗試將帶有空值的列標(biāo)題添加到我的數(shù)據(jù)框(就像這個答案),但在一個已經(jīng)修改它的函數(shù)中,如下所示:mydf = pd.DataFrame()def myfunc(df):  df['newcol1'] = np.nan  # this works  list_of_newcols = ['newcol2', 'newcol3']  df = df.reindex(columns=df.columns.tolist() + list_of_newcols)  # this does not  returnmyfunc(mydf)如果我在 IPython 控制臺中單獨(dú)運(yùn)行這些行,它將添加它們。但是作為腳本運(yùn)行,會添加 newcol1 但不會添加 2 和 3。設(shè)置copy=False也不起作用。我在這里做錯了什么?
查看完整描述

3 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個贊

df.reindex()除非索引相等,否則Pandas會生成一個新對象,因此您需要從函數(shù)中返回新對象。


def myfunc(df):

  df['newcol1'] = np.nan  # this works


  list_of_newcols = ['newcol2', 'newcol3']

  df = df.reindex(columns=df.columns.tolist + list_of_newcols)  # this does not

  return df


mydf = myfunc(mydf)


查看完整回答
反對 回復(fù) 2021-10-12
?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個贊

不確定這是您在實(shí)際代碼中犯的錯誤還是在此處輸入時犯的錯誤,但這tolist()是一個函數(shù),您必須添加括號。

df = df.reindex(columns=df.columns.tolist() + list_of_newcols)


查看完整回答
反對 回復(fù) 2021-10-12
?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個贊

您不需要設(shè)置NaN值并再次指定新的列標(biāo)簽。您可以reindex使用任意字符串列表;NaN是未指定數(shù)據(jù)的默認(rèn)值。


df = pd.DataFrame({'A': [1, 2, 3]})


df = df.reindex(columns=['A', 'B', 'C'])


print(df)


   A   B   C

0  1 NaN NaN

1  2 NaN NaN

2  3 NaN NaN


查看完整回答
反對 回復(fù) 2021-10-12
  • 3 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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