重命名列功能在pandas

时间:2015-09-02 16:51:53

标签: pandas rename

我有一个元组列的数据框,我正在尝试重命名。

以下是.info()

session_deciles.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 10 entries, 0 to 9
Data columns (total 5 columns):
(session_deciles, , )         10 non-null category
(total_sessions, , sum)       10 non-null int64
(POLL, sum, sum)              10 non-null int64
(PANELIST_COUNT, sum, sum)    10 non-null float64
(VIDEO_USED, sum, sum)        10 non-null int64
dtypes: category(1), float64(1), int64(3)
memory usage: 490.0 bytes

当我做这样的事情时:

session_deciles.rename(columns={ ('VIDEO_USED','sum','sum') : 'total_sessions'},inplace=True)

没有任何反应(甚至没有错误信息)。事实上,我可以这样做:

session_deciles.rename(columns={ ('FAKE COLUMN NAME','sum','sum') : 'total_sessions'},inplace=True)

我仍然不会收到错误消息。

没有任何空格:

session_deciles.columns.tolist()
Out[47]:
[('session_deciles', '', ''),
('total_sessions', '', 'sum'),
('POLL', 'sum', 'sum'),
('PANELIST_COUNT', 'sum', 'sum'),
('VIDEO_USED', 'sum', 'sum')]

In [58]:

session_deciles.columns[4]
Out[58]:
('VIDEO_USED', 'sum', 'sum')

现在这很奇怪:

这个

session_deciles.rename(columns={session_deciles.columns[2] : 'test_column'},inplace=True)

什么都不做。

session_deciles
Out[108]:
     session_deciles    total_sessions  POLL    PANELIST_COUNT  VIDEO_USED
                                         sum    sum             sum
                         sum             sum    sum             sum 
0   (0, 1]               1286            55     389             1133
1   (1, 2]               2056            102    784             1833

但是这个:

session_deciles.rename(columns={session_deciles.columns[2]**[1]** : 'test_column'},inplace=True)

返回:

  session_deciles   total_sessions  POLL    PANELIST_COUNT  VIDEO_USED
                                    test_column  test_column test_column
                                    test_column  test_column test_column    
0   (0, 1]               1286           55           389          1133
1   (1, 2]               2056           102          784          1833

0 个答案:

没有答案