実現したいこと
エラーを解決し、コードを完成させてシフト最適化を実行したい。
発生している問題・エラーメッセージ
AttributeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_12052\2324368433.py in <module>
21 従業員11\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t\t\t○\t○\t○\t○""")).T
22 a,a.columns = a.iloc[1:],a.iloc[0].tolist()
---> 23 a.必要人数 = a.必要人数.astype(int)
24 a.iloc[:,2:] = ~a.iloc[:,2:].isnull()
25 a.insert(0, '日付', a.index.str[0])
~\anaconda3\envs\Python_ex\lib\site-packages\pandas\core\generic.py in getattr(self, name)
5485 ):
5486 return self[name]
-> 5487 return object.getattribute(self, name)
5488
5489 def setattr(self, name: str, value) -> None:
AttributeError: 'DataFrame' object has no attribute '必要人数'
該当のソースコード
import numpy as np, pandas as pd
from pulp import *
from ortoolpy import addvars, addbinvars
from io import StringIO
a = pd.read_table(StringIO("""
日付\t21\t21\t22\t22\t23\t23\t24\t24\t25\t25\t26\t26\t27\t27\t28\t28\t29\t29\t30\t30\t31\t31\t1\t1\t2\t2\t3\t3\t4\t4\t5\t5\t6\t6\t7\t7\t8\t8\t9\t9\t10\t10\t11\t11\t12\t12\t13\t13\t14\t14\t15\t15\t16\t16\t17\t17\t18\t18\t19\t19\t20\t20
時間帯\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C\t8D17D\t12C21C
必要人数\t2\t5\t3\t7\t3\t7\t2\t5\t2\t5\t2\t5\t2\t5\t2\t5\t3\t7\t3\t7\t2\t5\t2\t5\t2\t5\t2\t5\t2\t5\t3\t7\t3\t7\t2\t5\t2\t5\t2\t6\t3\t6\t3\t6\t3\t7\t3\t7\t2\t5\t2\t5\t2\t5\t2\t5\t2\t5\t3\t7\t3\t7
従業員0\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員1\t\t\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員2\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員3\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員4\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○
従業員5\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○
従業員6\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員7\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員8\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員9\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員10\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○
従業員11\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t\t\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t○\t\t\t○\t○\t\t\t○\t○\t○\t○""")).T
a,a.columns = a.iloc[1:],a.iloc[0].tolist()
a.必要人数 = a.必要人数.astype(int)
a.iloc[:,2:] = ~a.iloc[:,2:].isnull()
a.insert(0, '日付', a.index.str[0])
a.reset_index(drop=True, inplace=True)
a = a.iloc[:,list(range(3,a.shape[1]))+[0,1,2]]
試したこと
検索して例を探しましたが、見つけられませんでした。
csvから読み込んだ場合も同様のエラーが出てしまいます。
元々がインターネット上で見つけたコードであり、私自身もほぼ初心者の状態でpythonを扱っているため、サポートいただけたら幸いです。

回答2件
あなたの回答
tips
プレビュー