我运行代码
from collections import namedtuple
ChinaHistoryOutline = namedtuple('ChinaHistoryOutline',['1. 封建社会篇', '2. 豪族社会篇', '3. 古代平民社会篇','4. 近代转型篇','5. 现代革命篇','6. 中国崛起篇' ])
获取ValueError
ValueError: Type names and field names must be valid identifiers: '1. 封建社会篇'
这个列表没有问题
In [8]: ['1. 封建社会篇', '2. 豪族社会篇', '3. 古代平民社会篇','4. 近代转型篇','5. 现代革命篇','6. 中国崛起篇' ]
Out[8]: ['1. 封建社会篇', '2. 豪族社会篇', '3. 古代平民社会篇', '4. 近代转型篇', '5. 现代革命篇', '6. 中国崛起篇']
有什么问题吗?
发布于 2021-11-27 23:34:51
在jupyter笔记本的dataframe列名中使用命名元组自动填充时,我也遇到了同样的错误。我的列名包含下面列出的无效字符。以下通过re模块对列进行的重命名将所有无效字符替换为"_“和
import re
df3.columns=[(re.subn("[/' ()-]","_",x))[0] for x in df3.columns.to_list()]
df3.columns=[x.replace("_","n",1) for x in df3.columns.to_list()]
#cant start name with underscore so change first underscore to "n" character also
https://stackoverflow.com/questions/48072470
复制相似问题