簡體   English   中英

Python數據幀行和列

[英]Python dataframe row and column

我是一個newB python建模器,目前遇到一些代碼問題,對很多人來說可能是非常基本的。

我正在使用python 2.7並已成功使用xlwings將命名范圍從外部工作簿復制到pd.dataframe格式。 除了df.index和df.columns之外,一切正常。 目前,代碼將1到n(基於行數和列數)分配為索引和列名稱。

有沒有辦法,我使用導入數據的第一列值作為df.index,第一行使用df.column?

有人可以幫助我得到這樣的東西:

 df = pd.DataFrame(myExcelRange, df.index = 'first column values', df.columns = 'first row values')

myExcelRange的形狀和名稱每次都可能不同。

任何指南將不勝感激。

例:

> myExcelRange

ITEM    Dan Jane    Fan 
A   77  78  40
B   89  53  72  
C   20  19  79  
D   81  54  93  
E   77  76  99  

熊貓正在回歸

    0   1   2   3
0   ITEM    Dan Jane    Fan
1   77  78  40  0
2   89  53  72  0
3   20  19  79  0
4   81  54  93  0
5   77  76  99  0

期望

ITEM    Dan Jane    Fan 
A   76  89  100 
B   59  72  24  
C   69  73  19  
D   70  92  43  
E   65  94  30  

您可以使用第一列set_index然后按iloc選擇第一行並分配給df.columns ,最后也可以通過iloc從數據中刪除第一行:

myExcelRange = [['a','b','c'],['d','e','f'],['g','h','i']]
df = pd.DataFrame(myExcelRange)
print (df)
   0  1  2
0  a  b  c
1  d  e  f
2  g  h  i

df = df.set_index(0)
df.columns = df.iloc[0,:]
#for nicer df remove index and column names
df.index.name = None
df.columns.name = None

print (df.iloc[1:,:])
   b  c
d  e  f
g  h  i

正如Alex Fung所提到的,也許可以使用帶參數index_col read_excel

df = pd.read_excel('file.xlsx', index_col=0)
print (df)
      Dan  Jane  Fan
ITEM                
A      77    78   40
B      89    53   72
C      20    19   79
D      81    54   93

暫無
暫無

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

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