![](/img/trans.png)
[英]how do i take a python pandas dataframe and create a new table using the column and row names as the new column
[英]Python: create new row based on column names in DataFrame
我想知道如何根據python數據幀中的列名行創建一個新行,並將其附加到同一個數據幀。
例
df = pd.DataFrame(np.random.randn(10, 5),columns=['abx', 'bbx', 'cbx', 'acx', 'bcx'])
我想根據列名稱創建一個新行: b | b | b | c | c |
b | b | b | c | c |
通過獲取列名稱的中間字符。
我的想法是稍后使用該新行來對列進行多索引。
我假設這是你想要的,因為你沒有回應,我們可以通過從壓縮df列創建一個dict和中間字符的列表理解來append
一個新行(假設列名長度為3):
In [126]:
df.append(dict(zip(df.columns, [col[1] for col in df])), ignore_index=True)
Out[126]:
abx bbx cbx acx bcx
0 -0.373421 -0.1005462 -0.8280985 -0.1593167 1.335307
1 1.324328 -0.6189612 -0.743703 0.9419248 1.282682
2 0.3730312 -0.06697892 1.113707 -0.9691056 1.779643
3 -0.6644958 1.379606 -0.3751724 -1.135034 0.3287292
4 0.4406139 -0.5767996 -0.2267589 -1.384412 -0.03038372
5 -1.242734 -0.838923 -0.6724592 1.405247 -0.3716862
6 -1.682637 -1.69309 -1.291833 1.781704 0.6321988
7 -0.5793783 -0.6809975 1.03502 -0.6498381 -1.124236
8 1.589016 1.272961 -1.968225 0.5515182 0.3058628
9 -2.275342 2.892237 2.076253 -0.1422845 -0.09776171
10 b b b c c
ix ---讓你讀完整行 - 你只需說出你想要的那一行。 然后你得到你的列並將它們分配給你想要的原始。
請參閱下面的示例。
virData = DataFrame(df)
virData.columns = virData.ix[1].values
virData.columns
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.