簡體   English   中英

如何將許多python數據框組合到單個數據框?

[英]How to combine many python dataframes to a single dataframe?

我有超過1500個python數據框,我需要將它們組合成一個大數據框。 我的問題是數據框具有唯一的列標題和不同的大小。

例如,數據幀1為:

type    sc98*c.firstname    sc98*c.lastname    sc98*c.username    text                  createdAt    statusofExpiration
need    John                Doe                johndoe            I need a new car.     111111       expired

數據框2為:

type    l8!7s4fn.firstname    l8!7s4fn.lastname    l8!7s4fn.username    text                    tags.0    tags.1    image.0        createdAt    statusOfExpiration
need    Matt                  Smith                mattsmith            I need a yoga trainer.  yoga      trainer   blankurl.com/  22222        fulfilled

我想得到一個像這樣的數據框:

type    firstname    lastname    username    text                    createdAt    statusofExpiration    tags.0    tags.1    image.0
need    John         Doe         johndoe     I need a new car.       111111       expired       
need    Matt         Smith       mattsmith   I need a yoga trainer.  222222       fulfilled             yoga      trainer   blankurl.com/

如前所述,由於可變的數據幀大小,我將無法通過索引調用值,並且由於數據幀在列標題中具有唯一的標識符(例如id.username),因此無法通過列名稱調用值。

反正有解決這個問題的方法嗎?

由於數據幀具有唯一的列標題和不同的大小,因此沒有簡單的方法來連接數據幀。 我建議研究以下內容:

df.filter(like='firstname')  # select columns containing the word firstname

這樣,您可以循環瀏覽所有數據框中的列名稱,並根據部分匹配將其重命名。

看看這篇文章: 熊貓用通配符重命名colums

您可以執行此操作以串聯或合並多個數據框。 希望對您有所幫助!

df1 = DataFrame(
{
    'First Name': firstname_list,
    'Last Name': lastname_list,
 }
)

df2 = DataFrame(
{
    'Key1': value_list1,
    'Key2': value_list2,
 }
)

frames = [df1, df2]

concatenated_df = pd.concat(frames)
concatenated_df.to_csv(r'dataset.csv', sep=',', index=False)

暫無
暫無

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

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