簡體   English   中英

如何在Pandas Dataframe中向下移動列行並重新分配列值?

[英]How to shift down columns row and re-assign column values in Pandas Dataframe?

我有以下熊貓DataFrame:

import pandas as pd
import numpy as np
data = 'filename.dat'
df = pd.read_table(data)
print(df)

   0.098722  08l23252 243434214  5         True
0  0.469112 -0.282863 -1.509059  2         True
1  0.283421  1.224234  7.823421  2         False
2 -1.135632  1.212112 -0.173215  4         False
3      2.34     0.271    0.0932  4         True
4  0.119209 -1.044236 -0.861849  4         True
5 -2.104569 -0.494929  1.071804  4         False
6  0.469112 -0.282863 -1.509059  3         True
7  1.023236  1.224234  7.823421  3         False
8 -1.135632  1.212112 -0.173215  3         False
9  23.23422  2.613492  2.341592  1         True
....

保存filename.dat的數據,以便將第一行視為列。

df.columns

輸出

Index(['0.098722', '08l23252', '243434214', '5', 'True'], dtype='object')

如何添加一行,以使當前“列”值行向下移動到數據表中,並且可以使用實際的列名重命名列?

目前,我無法嘗試

df.columns = ['A1', 'B1', 'C1', 'D1', 'E1']

因為這只會刪除該行並用A1B1等覆蓋值。

   A1        B1        C1        D1        E1
1  0.283421  1.224234  7.823421  2         False
2 -1.135632  1.212112 -0.173215  4         False
3      2.34     0.271    0.0932  4         True
4  0.119209 -1.044236 -0.861849  4         True
....

嘗試這個:

df = pd.read_table(data, names=['A1', 'B1', 'C1', 'D1', 'E1'], header=None)

來自docs

名稱 :類似數組,默認為無

要使用的列名列表。 如果文件不包含標題行,則應顯式傳遞header = None

添加參數names

df = pd.read_table(datan, names=['A1', 'B1', 'C1', 'D1', 'E1'])

但看起來更好的id使用read_csv

import pandas as pd
import io

temp=u"""
9,40  
1,70"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), names=['b','m'])
print (df)
   b   m
0  9  40
1  1  70

暫無
暫無

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

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