所以,我有一個空的pandas數(shù)據(jù)框,我計劃多次附加,我給它列,dataframe = pd.DataFrame([], columns=['Author', 'Date', 'Text', 'Length', 'Favorites', 'Retweets'])最終,我擁有列表列表(或數(shù)組數(shù)組,如果您愿意)形式的數(shù)據(jù),并希望將所有數(shù)據(jù)添加到當(dāng)前列下的空數(shù)據(jù)框中。數(shù)據(jù)是這樣生成的,(我正在從推特上抓取數(shù)據(jù),順便說一句)input = np.array(list(zip([tweet.source for tweet in tweets],
[tweet.created_at for tweet in tweets],
[tweet.text for tweet in tweets],
[len(tweet.text) for tweet in tweets],
[tweet.favorite_count for tweet in tweets],
[tweet.retweet_count for tweet in tweets])))這會產(chǎn)生一個數(shù)組,其中每個項目對應(yīng)一條推文以及有關(guān)它的所有信息。如果我嘗試dataframe.append(pd.DataFrame(input)),我會得到以下凌亂的結(jié)果,在這種情況下,我如何有效地將此類數(shù)據(jù)附加到我的數(shù)據(jù)框中?
1 回答

肥皂起泡泡
TA貢獻1829條經(jīng)驗 獲得超6個贊
您可以做的一件事是創(chuàng)建這樣的數(shù)據(jù):
input = np.array([[tweet.source, tweet.created_at, tweet.text, len(tweet.text), tweet.favorite_count, tweet.retweet_count] for tweet in tweets])
這樣,您只需遍歷推文數(shù)組一次即可構(gòu)建矩陣,然后您可以將其提供給熊貓:
dataframe = pd.DataFrame(input, columns=['Author', 'Date', 'Text', 'Length', 'Favorites', 'Retweets'])
一次性構(gòu)建所有數(shù)據(jù),然后圍繞它構(gòu)建一個pandas Dataframe,比將每個觀察結(jié)果附加到Dataframe要高效得多。
如果您打算使用分桶方法,我建議您使用上述方法構(gòu)建一個數(shù)據(jù)框列表,然后使用 pd.concat
df_total = pd.concat([df1, df2, ... dfn])
或者,如果您剛剛收到新批次,您可以嘗試:
df = pd.concat([df, df_new_batch])
鏈接到pd.concat的文檔
添加回答
舉報
0/150
提交
取消