次のようなデータフレームがあります
print(df)
Empld EmpName Date
1234 Ram 2020-01-01 01:01:01
2332 Andy 2010-11-11 01:01:01
2233 Jim 2009-01-11 01:01:01
データフレーム内のデータをフィルタリングしようとすると
dfemp = df[df['Empld'] == '1234']
print(dfemp)
Empld EmpName Date
1234 Ram 2020-01-01 01:01:01
私のコードは以下のようなものです。データフレームには常にIDが「1234」のレコードが1つしかないため、変数に日付値のみを割り当てようとしています。
if dfemp.empty :
EmDt = "2000-01-01"
else :
EmDt = dfemp['Date'].values[0].replace("[","").replace("]","")[:10]
i am getting below error
Error: TypeError: must be real number, not str
このエラーを克服する方法はありますか、変数への最終出力を取得しようとしています
EmDt=2020-01-01(if it has value then "2020-01-01" if not "2000-01-01" static value)
dfのすべての列は文字列型であると想定しています。
dfempを作成するとき、それはDataFrameであり、最初の行からDate列を文字列として読み取る必要があります。
それを実行するには:
if dfemp.empty:
EmDt = "2000-01-01"
else:
EmDt = dfemp.iloc[0].Date[:10]
ここでは交換は必要ありません。
チェックする別の詳細:
print(type(dfemp.iloc[0].Date).__name__)
結果は「str」になります。結果が他の場合は、ソースデータに何か問題がある/予期しないものがあります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加