data という pandas データフレームがあり、任意の列に文字列を含むすべての行を削除したいと考えています。たとえば、以下では、「gdp」列のインデックス 3 に文字列があり、インデックス 1 に「cap」があることがわかります。
data =
y gdp cap
0 1 2 5
1 2 3 ab
2 8 7 2
3 3 bc 7
4 6 7 7
5 4 8 3
...
exp_list に何が含まれているか事前にわからないため、このスクリプトのようなものを使用しようとしています。残念ながら、「data.var_name」は次のエラーをスローします:「DataFrame」オブジェクトには属性「var_name」がありません。また、文字列が事前にどうなるかわからないので、それを一般化する方法はありますか?
exp_list = ['gdp', 'cap']
for var_name in exp_list:
data = data[data.var_name != 'ab']