我有一个元组列的数据框,我正在尝试重命名。
以下是.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