@@ -547,6 +547,71 @@ def __len__(self):
547
547
return len (self ._data )
548
548
549
549
def view (self , dtype = None ):
550
+ """
551
+ Create a new view of the Series.
552
+
553
+ This function will return a new Series with a view of the same
554
+ underlying values in memory, optionally reinterpreted with a new data
555
+ type. The new data type must preserve the same size in bytes as to not
556
+ cause index misalignment.
557
+
558
+ Parameters
559
+ ----------
560
+ dtype : data type
561
+ Data type object or one of their string representations.
562
+
563
+ Returns
564
+ -------
565
+ Series
566
+ A new Series object as a view of the same data in memory.
567
+
568
+ See Also
569
+ --------
570
+ numpy.ndarray.view : Equivalent numpy function to create a new view of
571
+ the same data in memory.
572
+
573
+ Notes
574
+ -----
575
+ Series are instantiated with ``dtype=float64`` by default. While
576
+ ``numpy.ndarray.view()`` will return a view with the same data type as
577
+ the original array, ``Series.view()`` (without specified dtype)
578
+ will try using ``float64`` and may fail if the original data type size
579
+ in bytes is not the same.
580
+
581
+ Examples
582
+ --------
583
+ >>> s = pd.Series([-2, -1, 0, 1, 2], dtype='int8')
584
+ >>> s
585
+ 0 -2
586
+ 1 -1
587
+ 2 0
588
+ 3 1
589
+ 4 2
590
+ dtype: int8
591
+
592
+ The 8 bit signed integer representation of `-1` is `0b11111111`, but
593
+ the same bytes represent 255 if read as an 8 bit unsigned integer:
594
+
595
+ >>> us = s.view('uint8')
596
+ >>> us
597
+ 0 254
598
+ 1 255
599
+ 2 0
600
+ 3 1
601
+ 4 2
602
+ dtype: uint8
603
+
604
+ The views share the same underlying values:
605
+
606
+ >>> us[0] = 128
607
+ >>> s
608
+ 0 -128
609
+ 1 -1
610
+ 2 0
611
+ 3 1
612
+ 4 2
613
+ dtype: int8
614
+ """
550
615
return self ._constructor (self ._values .view (dtype ),
551
616
index = self .index ).__finalize__ (self )
552
617
0 commit comments