0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

`pandas.Series`: 存在しないインデックスに対して値を設定する場合は、アップキャストが発生しても警告メッセージは表示されない

Posted at

環境

  • Python 3.12.4
  • pandas 2.2.3
  • numpy 1.26.4

内容

以下のドキュメントに書いてある通り、pandas.Seriesに対して値を設定する操作でアップキャストが発生すると、警告メッセージが表示されます。

In [220]: ser = pd.Series([1, 2, 3])

In [223]: ser
Out[223]:
0    1
1    2
2    3
dtype: int64

In [225]: ser[0] = 'not an int64'
<ipython-input-221-54fde2c4392f>:1: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value 'not an int64' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.
  ser[0] = 'not an int64'

In [229]: ser
Out[229]:
0    not an int64
1               2
2               3
dtype: object  

しかし、存在しないindexに対して値を設定する場合は、警告メッセージは表示されません。

In [222]: ser = pd.Series([1, 2, 3])

In [224]: ser[3] = 'not an int64'

In [225]: ser
Out[225]:
0               1
1               2
2               3
3    not an int64
dtype: object

pandas.Seriesに対して値を設定する場合は、そのインデックスが存在するかどうかを意識する必要がありそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?