【发布时间】:2019-10-01 02:36:29
【问题描述】:
我想使用“命令”字符串来自动化一些 pandas df 分析。
类似:
str_a = 'df.col_1.isna()'
str_b = ' & '
str_c = 'df.col_2.isna()'
str_tot = str_a + str_b + str_c
然后使用字符串对df中的NaN行进行排序:
df.loc[str_tot, :]
最后一个应该等于:
df.loc[df.col_1.isna() & df.col_2.isna(), :]
但 python 编译器将 str_tot 读取为 [list] 而不是字符串,返回错误。
有没有办法绕过这个?
非常感谢
我已经习惯了在 VBA 中构建 SQL 字符串...在 python 中这是一个错误的想法吗?
【问题讨论】:
-
请问是什么原因造成如此不正统的设计?字符串从哪里来?它们是用户输入的、从文件中读取的还是其他的?
-
你可以看看eval(),但它可能是适合这项工作的错误工具
-
嗨 DYZ,这只是为了在我的数据分析中建立一点自动化......我在一侧构建字符串,然后我提供了一个小函数......你为什么说这是非正统的吗?什么是“正统”?非常感谢
标签: python string pandas concatenation