如何将用户输入作为pandas DataFrame列名调用对应方法处理数据
报错原因
你使用df.user_input的点号访问语法时,pandas会将user_input作为固定的列名字面量去匹配,而非读取你定义的user_input变量存储的用户输入值,因此会提示找不到对应属性。
正确实现方法
使用方括号索引语法传入存储列名的变量即可,正确代码如下:
df = # 初始化DataFrame的原有代码 user_input = input('enter column name') print(df[user_input].describe())
可选健壮性优化
如果需要处理用户输入无效列名的场景,可以增加合法性校验逻辑:
df = # 初始化DataFrame的原有代码 user_input = input('enter column name') if user_input in df.columns: print(df[user_input].describe()) else: print(f"列名{user_input}不存在,有效列名列表:{list(df.columns)}")
内容的提问来源于stack exchange,提问作者Marco Nashaat
相关产品推荐
相关产品推荐

