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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將行附加到數(shù)據(jù)框

將行附加到數(shù)據(jù)框

九州編程 2021-06-23 14:15:37
我被困在一個(gè)簡(jiǎn)單的任務(wù)上。我想創(chuàng)建一個(gè)空的 DataFrame 并根據(jù)對(duì)另一個(gè)數(shù)據(jù)集的查詢(xún)向其追加行。我已經(jīng)嘗試過(guò)這里的答案,但我錯(cuò)過(guò)了一些..初學(xué)者 Pythoner。任何幫助,將不勝感激。我想取每個(gè)狀態(tài)的前 3 行并將它們添加到一個(gè)新的數(shù)據(jù)框中進(jìn)行處理。我也嘗試附加..def test():    #get the list of states    states_df = census_df.STNAME.unique()    population_df = pd.DataFrame()    for st in states_df:        temp_df = pd.DataFrame(census_df[census_df['STNAME'] == st].nlargest(3,'CENSUS2010POP'))        pd.concat([temp_df, population_df], ignore_index = True)    return 1
查看完整描述

2 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊

我想我知道你在做什么課程,一年前我玩得很開(kāi)心,堅(jiān)持下去!


我發(fā)現(xiàn)連接一堆切片數(shù)據(jù)幀的最簡(jiǎn)單/最快的方法是將每個(gè) df 附加到一個(gè)列表,然后最后連接該列表。請(qǐng)參閱下面的工作代碼(它按照我的意思解釋您的意思)。


我同意 David 關(guān)于排序的建議,更易于使用排序,然后只對(duì)前 3 個(gè)進(jìn)行切片。 由于 nlargest() 工作并返回一個(gè)我相信的系列而不是數(shù)據(jù)框,而您想要保留整個(gè)數(shù)據(jù)框結(jié)構(gòu)(所有列) 進(jìn)行串聯(lián)。


另外為什么你的函數(shù)返回1?錯(cuò)別字?我想如果你把它放在一個(gè)函數(shù)中,你想返回你想要的輸出,所以我也改變了它。


import pandas as pd

import numpy as np



#create fake data random numbers

data = np.random.randint(2,11,(40,3))

census_df = pd.DataFrame(index=range(40), columns=['Blah', 'Blah2','CENSUS2010POP'], data=data)

#create fake STNAME column

census_df['STNAME'] = list('aaaabbbbccccddddeeeeffffgggghhhhiiiijjjj')


#Function:

def test(census_df):

    states_list = census_df.STNAME.unique() #changed naming to _list as it's not a df.

    list_of_dfs = list() #more efficient to append each df to a list

    for st in states_list:

        temp_df = census_df[census_df['STNAME']==st]

        temp_df = temp_df.sort_values(by=['CENSUS2010POP'], ascending=False).iloc[:3]

        list_of_dfs.append(temp_df)

    population_df = pd.concat(list_of_dfs,ignore_index=True)

    return population_df


population_df = test(census_df)


查看完整回答
反對(duì) 回復(fù) 2021-06-29
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

歡迎來(lái)到 SO!您的問(wèn)題是追加還是前三行?


對(duì)于追加,請(qǐng)嘗試df.append函數(shù)。它可能看起來(lái)像:


#get the list of states

states_df = census_df.STNAME.unique()

population_df = pd.DataFrame()


for st in states_df:

    temp_df = pd.DataFrame(census_df[census_df['STNAME'] == st].nlargest(3,'CENSUS2010POP'))

    population_df = population_df.append(temp_df, ignore_index = True) #append the temp df to your main df, ignoring the index

對(duì)于頂行,您可以使用 df.sort_values(by=['column name'],ascending=False) 然后選擇前三行:


population_df = population_df.append(temp_df[0:3], ignore_index = True)


查看完整回答
反對(duì) 回復(fù) 2021-06-29
  • 2 回答
  • 0 關(guān)注
  • 154 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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