重命名列和索引值一个表达式
Renaming column and index values one expression
我不确定为什么这段代码不起作用。如果我单独定义 tankwater.columns =
或 tankwater.index =
表达式,列和索引将被重命名,但是当我尝试使用重命名函数组合它们时,我得到“列表对象不可调用。”
这可能很简单..提前致谢。
tankwater = tankwater.rename(index = ['Date 1', 'Date 2'], columns = ['Tank1','Tank 2', 'Tank 3', 'Total water'])
您可以使用字典而不是列表,其中键是旧值,项目是新值。像这样:
tankwater = tankwater.rename(index = {'oldindex1':'Date 1',
'oldindex2':'Date 2'},
columns = {'oldcolumn1': 'Tank1',
'oldcolumn2': 'Tank 2',
'oldcolumn3': 'Tank 3',
'oldcolumn4': 'Total water'})
为提供的示例添加了更易于使用的代码:
tankwater = tankwater.rename(index = dict(zip(tankwater.index, ['Date 1', 'Date 2'])),
columns = dict(zip(tankwater.columns, ['Tank1','Tank 2', 'Tank 3', 'Total water'])))
其中旧索引和旧列是要替换的名称。
您必须使用包含旧 column/index 标签和新标签的 dict
,但您可以使用 dict
+ zip
动态地执行此操作:
tankwater = tankwater.rename(
index=dict(zip(tankwater.index, ['Date 1', 'Date 2'])),
columns=dict(zip(tankwater.columns, ['Tank1','Tank 2', 'Tank 3', 'Total water']))
)
我不确定为什么这段代码不起作用。如果我单独定义 tankwater.columns =
或 tankwater.index =
表达式,列和索引将被重命名,但是当我尝试使用重命名函数组合它们时,我得到“列表对象不可调用。”
这可能很简单..提前致谢。
tankwater = tankwater.rename(index = ['Date 1', 'Date 2'], columns = ['Tank1','Tank 2', 'Tank 3', 'Total water'])
您可以使用字典而不是列表,其中键是旧值,项目是新值。像这样:
tankwater = tankwater.rename(index = {'oldindex1':'Date 1',
'oldindex2':'Date 2'},
columns = {'oldcolumn1': 'Tank1',
'oldcolumn2': 'Tank 2',
'oldcolumn3': 'Tank 3',
'oldcolumn4': 'Total water'})
为提供的示例添加了更易于使用的代码:
tankwater = tankwater.rename(index = dict(zip(tankwater.index, ['Date 1', 'Date 2'])),
columns = dict(zip(tankwater.columns, ['Tank1','Tank 2', 'Tank 3', 'Total water'])))
其中旧索引和旧列是要替换的名称。
您必须使用包含旧 column/index 标签和新标签的 dict
,但您可以使用 dict
+ zip
动态地执行此操作:
tankwater = tankwater.rename(
index=dict(zip(tankwater.index, ['Date 1', 'Date 2'])),
columns=dict(zip(tankwater.columns, ['Tank1','Tank 2', 'Tank 3', 'Total water']))
)