簡體   English   中英

創建單行熊貓數據框

[英]Creating single row pandas dataframe

我有一個像這樣的數據框-

                 0
0            a  43
1            b  630
2            r  587
3            i  462
4            g  153
5            t  266

我想創建一個看起來像這樣的新數據框-

     a         b     r       i     g        t
0    43       630   587    462    153      266

您可以通過df.Tdf.transpose()轉置數據df.T

df = pd.DataFrame([['A', 1], ['B', 2], ['C', 3], ['D', 4], ['E', 5]],
                  columns=['col1', 'col2'])

print(df)

  col1  col2
0    A     1
1    B     2
2    C     3
3    D     4
4    E     5

res = df.set_index('col1').T

結果:

print(res)

col1  A  B  C  D  E
col2  1  2  3  4  5

如果您只有一列這種格式a 43 ,則應該可以使用:

df.columns = ['col']
df = pd.DataFrame(df.col.str.split(' ',1).tolist(), columns = ['col1','col2']).T.reset_index(drop=True)
df = df.rename(columns=df.iloc[0]).drop(df.index[0])

輸入:

df = pd.DataFrame(data=[
     ['a 43',],
     ['b 630'],
     ['r 587']],
columns=['col'])

     col
0   a 43
1  b 630
2  r 587

輸出:

    a    b    r
1  43  630  587

通過split的列表理解創建2d數組,然后通過構造函數創建新的Dataframe

a = np.array([x.split() for x in df['0']])

df = pd.DataFrame([a[:, 1]], columns=a[:, 0])
print (df)
    a    b    r    i    g    t
0  43  630  587  462  153  266

暫無
暫無

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

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