mteb/BrightProStackoverflowRetrieval huggingface dataset:
x.from_fields ](pandas.PeriodIndex.from_fields.html)
    * [ pandas.PeriodIndex.from_ordinals ](pandas.PeriodIndex.from_ordinals.html)
  * [ Date offsets ](../offset_frequency.html)
  * [ Window ](../window.html)
  * [ GroupBy ](../groupby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * __
  * [ pandas.MultiIndex ](pandas.MultiIndex.html)
  * pandas.Multi... 

#  pandas.MultiIndex.droplevel  #

MultiIndex.  droplevel  (  _ level  =  0  _ )  [ [source]
](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/indexes/base.py#L2107-L2157) #

    

Return index with requested level(s) removed.

If resulting index has only 1 level left, the result will be of Index type,
not MultiIndex. The original index is not modified inplace.

Parameters  :

    

**level** int, str, or list-like, default 0

    

If a string is given, must be the name of a level If list-like, elements must
be names or indexes of levels.

Returns  :

    

Index or MultiIndex

    

Examples

    
    
    >>> mi = pd.MultiIndex.from_arrays(
    ... [[1, 2], [3, 4], [5, 6]], names=['x', 'y', 'z'])
    >>> mi
    MultiIndex([(1, 3, 5),
                (2, 4, 6)],
               names=['x', 'y', 'z'])
    
    
    
    >>> mi.droplevel()
    MultiIndex([(3, 5),
                (4, 6)],
               names=['y', 'z'])
    
    
    
    >>> mi.droplevel(2)
    MultiIndex([(1, 3),
                (2, 4)],
               names=['x', 'y'])
    
    
    
    >>> mi.droplevel('z')
    MultiIndex([(1, 3),
                (2, 4)],
               names=['x', 'y'])
    
    
    
    >>> mi.droplevel(['x', 'y'])
    Index([5, 6], dtype='int64', name='z')
    

[ __ previous  pandas.MultiIndex.sortlevel  ](pandas.MultiIndex.sortlevel.html
"previous page") [ next  pandas.MultiIndex.swaplevel  __
](pandas.MultiIndex.swaplevel.html "next page")

__ On this page

  * ` MultiIndex.droplevel()  `

[ __ Show Source
](../../_sources/reference/api/pandas.MultiIndex.droplevel.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
dIndex.from_ordinals.html)
  * [ Date offsets ](../offset_frequency.html)
  * [ Window ](../window.html)
  * [ GroupBy ](../groupby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * __
  * [ pandas.PeriodIndex ](pandas.PeriodIndex.html)
  * pandas.Perio... 

#  pandas.PeriodIndex.week  #

_ property  _ PeriodIndex.  week  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/indexes/extension.py#L67-L75) #

    

The week ordinal of the year.

Examples

    
    
    >>> idx = pd.PeriodIndex(["2023-01", "2023-02", "2023-03"], freq="M")
    >>> idx.week  # It can be written `weekofyear`
    Index([5, 9, 13], dtype='int64')
    

[ __ previous  pandas.PeriodIndex.start_time
](pandas.PeriodIndex.start_time.html "previous page") [ next
pandas.PeriodIndex.weekday  __ ](pandas.PeriodIndex.weekday.html "next page")

__ On this page

  * ` PeriodIndex.week  `

[ __ Show Source
](../../_sources/reference/api/pandas.PeriodIndex.week.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
upby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataFrame.pop 

#  pandas.DataFrame.pop  #

DataFrame.  pop  (  _ item  _ )  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/frame.py#L5778-L5819) #

    

Return item and drop from frame. Raise KeyError if not found.

Parameters  :

    

**item** label

    

Label of column to be popped.

Returns  :

    

Series

    

Examples

    
    
    >>> df = pd.DataFrame([('falcon', 'bird', 389.0),
    ...                    ('parrot', 'bird', 24.0),
    ...                    ('lion', 'mammal', 80.5),
    ...                    ('monkey', 'mammal', np.nan)],
    ...                   columns=('name', 'class', 'max_speed'))
    >>> df
         name   class  max_speed
    0  falcon    bird      389.0
    1  parrot    bird       24.0
    2    lion  mammal       80.5
    3  monkey  mammal        NaN
    
    
    
    >>> df.pop('class')
    0      bird
    1      bird
    2    mammal
    3    mammal
    Name: class, dtype: object
    
    
    
    >>> df
         name  max_speed
    0  falcon      389.0
    1  parrot       24.0
    2    lion       80.5
    3  monkey        NaN
    

[ __ previous  pandas.DataFrame.itertuples  ](pandas.DataFrame.itertuples.html
"previous page") [ next  pandas.DataFrame.tail  __
](pandas.DataFrame.tail.html "next page")

__ On this page

  * ` DataFrame.pop()  `

[ __ Show Source ](../../_sources/reference/api/pandas.DataFrame.pop.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
odIndex.from_fields ](pandas.PeriodIndex.from_fields.html)
    * [ pandas.PeriodIndex.from_ordinals ](pandas.PeriodIndex.from_ordinals.html)
  * [ Date offsets ](../offset_frequency.html)
  * [ Window ](../window.html)
  * [ GroupBy ](../groupby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * __
  * [ pandas.MultiIndex ](pandas.MultiIndex.html)
  * pandas.Multi... 

#  pandas.MultiIndex.dtypes  #

MultiIndex.  dtypes  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/indexes/multi.py#L803-L828) #

    

Return the dtypes as a Series for the underlying MultiIndex.

Examples

    
    
    >>> idx = pd.MultiIndex.from_product([(0, 1, 2), ('green', 'purple')],
    ...                                  names=['number', 'color'])
    >>> idx
    MultiIndex([(0,  'green'),
                (0, 'purple'),
                (1,  'green'),
                (1, 'purple'),
                (2,  'green'),
                (2, 'purple')],
               names=['number', 'color'])
    >>> idx.dtypes
    number     int64
    color     object
    dtype: object
    

[ __ previous  pandas.MultiIndex.levshape  ](pandas.MultiIndex.levshape.html
"previous page") [ next  pandas.MultiIndex.from_arrays  __
](pandas.MultiIndex.from_arrays.html "next page")

__ On this page

  * ` MultiIndex.dtypes  `

[ __ Show Source
](../../_sources/reference/api/pandas.MultiIndex.dtypes.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
/resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataF... 

#  pandas.DataFrame.tail  #

DataFrame.  tail  (  _ n  =  5  _ )  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/generic.py#L5895-L5974) #

    

Return the last  n  rows.

This function returns last  n  rows from the object based on position. It is
useful for quickly verifying data, for example, after sorting or appending
rows.

For negative values of  n  , this function returns all rows except the first
|n|  rows, equivalent to ` df[|n|:]  ` .

If n is larger than the number of rows, this function returns all rows.

Parameters  :

    

**n** int, default 5

    

Number of rows to select.

Returns  :

    

type of caller

    

The last  n  rows of the caller object.

See also

[ ` DataFrame.head  ` ](pandas.DataFrame.head.html#pandas.DataFrame.head
"pandas.DataFrame.head")

    

The first  n  rows of the caller object.

Examples

    
    
    >>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',
    ...                    'monkey', 'parrot', 'shark', 'whale', 'zebra']})
    >>> df
          animal
    0  alligator
    1        bee
    2     falcon
    3       lion
    4     monkey
    5     parrot
    6      shark
    7      whale
    8      zebra
    

Viewing the last 5 lines

    
    
    >>> df.tail()
       animal
    4  monkey
    5  parrot
    6   shark
    7   whale
    8   zebra
    

Viewing the last  n  lines (three in this case)

    
    
    >>> df.tail(3)
      animal
    6  shark
    7  whale
    8  zebra
    

For negative values of  n

    
    
    >>> df.tail(-3)
       animal
    3    lion
    4  monkey
    5  parrot
    6   shark
    7   whale
    8   zebra
    

[ __ previous  pandas.DataFrame.pop  ](pandas.DataFrame.pop.html "previous
page") [ next  pandas.DataFrame.xs  __ ](pandas.DataFrame.xs.html "next page")

__ On this page

  * ` DataFrame.tail()  `

[ __ Show Source ](../../_sources/reference/api/pandas.DataFrame.tail.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
ex.from_ordinals.html)
  * [ Date offsets ](../offset_frequency.html)
  * [ Window ](../window.html)
  * [ GroupBy ](../groupby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * __
  * [ pandas.PeriodIndex ](pandas.PeriodIndex.html)
  * pandas.Perio... 

#  pandas.PeriodIndex.second  #

_ property  _ PeriodIndex.  second  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/indexes/extension.py#L67-L75) #

    

The second of the period.

Examples

    
    
    >>> idx = pd.PeriodIndex(["2023-01-01 10:00:30",
    ...                       "2023-01-01 10:00:31"], freq='s')
    >>> idx.second
    Index([30, 31], dtype='int64')
    

[ __ previous  pandas.PeriodIndex.quarter  ](pandas.PeriodIndex.quarter.html
"previous page") [ next  pandas.PeriodIndex.start_time  __
](pandas.PeriodIndex.start_time.html "next page")

__ On this page

  * ` PeriodIndex.second  `

[ __ Show Source
](../../_sources/reference/api/pandas.PeriodIndex.second.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
](pandas.PeriodIndex.from_fields.html)
    * [ pandas.PeriodIndex.from_ordinals ](pandas.PeriodIndex.from_ordinals.html)
  * [ Date offsets ](../offset_frequency.html)
  * [ Window ](../window.html)
  * [ GroupBy ](../groupby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * __
  * [ pandas.MultiIndex ](pandas.MultiIndex.html)
  * pandas.Multi... 

#  pandas.MultiIndex.get_level_values  #

MultiIndex.  get_level_values  (  _ level  _ )  [ [source]
](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/indexes/multi.py#L1784-L1834) #

    

Return vector of label values for requested level.

Length of returned vector is equal to the length of the index.

Parameters  :

    

**level** int or str

    

` level  ` is either the integer position of the level in the MultiIndex, or
the name of the level.

Returns  :

    

Index

    

Values is a level of this MultiIndex converted to a single [ ` Index  `
](pandas.Index.html#pandas.Index "pandas.Index") (or subclass thereof).

Notes

If the level contains missing values, the result may be casted to ` float  `
with missing values specified as ` NaN  ` . This is because the level is
converted to a regular ` Index  ` .

Examples

Create a MultiIndex:

    
    
    >>> mi = pd.MultiIndex.from_arrays((list('abc'), list('def')))
    >>> mi.names = ['level_1', 'level_2']
    

Get level values by supplying level as either integer or name:

    
    
    >>> mi.get_level_values(0)
    Index(['a', 'b', 'c'], dtype='object', name='level_1')
    >>> mi.get_level_values('level_2')
    Index(['d', 'e', 'f'], dtype='object', name='level_2')
    

If a level contains missing values, the return type of the level may be cast
to ` float  ` .

    
    
    >>> pd.MultiIndex.from_arrays([[1, None, 2], [3, 4, 5]]).dtypes
    level_0    int64
    level_1    int64
    dtype: object
    >>> pd.MultiIndex.from_arrays([[1, None, 2], [3, 4, 5]]).get_level_values(0)
    Index([1.0, nan, 2.0], dtype='float64')
    

[ __ previous  pandas.MultiIndex.remove_unused_levels
](pandas.MultiIndex.remove_unused_levels.html "previous page") [ next
pandas.MultiIndex.get_indexer  __ ](pandas.MultiIndex.get_indexer.html "next
page")

__ On this page

  * ` MultiIndex.get_level_values()  `

[ __ Show Source
](../../_sources/reference/api/pandas.MultiIndex.get_level_values.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
y.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataF... 

#  pandas.DataFrame.dtypes  #

_ property  _ DataFrame.  dtypes  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/generic.py#L6432-L6461) #

    

Return the dtypes in the DataFrame.

This returns a Series with the data type of each column. The resultâs index
is the original DataFrameâs columns. Columns with mixed types are stored
with the ` object  ` dtype. See [ the User Guide
](../../user_guide/basics.html#basics-dtypes) for more.

Returns  :

    

pandas.Series

    

The data type of each column.

Examples

    
    
    >>> df = pd.DataFrame({'float': [1.0],
    ...                    'int': [1],
    ...                    'datetime': [pd.Timestamp('20180310')],
    ...                    'string': ['foo']})
    >>> df.dtypes
    float              float64
    int                  int64
    datetime    datetime64[ns]
    string              object
    dtype: object
    

[ __ previous  pandas.DataFrame.columns  ](pandas.DataFrame.columns.html
"previous page") [ next  pandas.DataFrame.info  __
](pandas.DataFrame.info.html "next page")

__ On this page

  * ` DataFrame.dtypes  `

[ __ Show Source
](../../_sources/reference/api/pandas.DataFrame.dtypes.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
pby.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataF... 

#  pandas.DataFrame.size  #

_ property  _ DataFrame.  size  [ [source]  ](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/generic.py#L720-L744) #

    

Return an int representing the number of elements in this object.

Return the number of rows if Series. Otherwise return the number of rows times
number of columns if DataFrame.

See also

` ndarray.size  `

    

Number of elements in the array.

Examples

    
    
    >>> s = pd.Series({'a': 1, 'b': 2, 'c': 3})
    >>> s.size
    3
    
    
    
    >>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
    >>> df.size
    4
    

[ __ previous  pandas.DataFrame.ndim  ](pandas.DataFrame.ndim.html "previous
page") [ next  pandas.DataFrame.shape  __ ](pandas.DataFrame.shape.html "next
page")

__ On this page

  * ` DataFrame.size  `

[ __ Show Source ](../../_sources/reference/api/pandas.DataFrame.size.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.
tml)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ DataFrame ](../frame.html)
  * pandas.DataF... 

#  pandas.DataFrame.set_flags  #

DataFrame.  set_flags  (  _ *  _ , _ copy  =  False  _ , _
allows_duplicate_labels  =  None  _ )  [ [source]
](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/generic.py#L446-L509) #

    

Return a new object with updated flags.

Parameters  :

    

**copy** bool, default False

    

Specify if a copy of the object should be made.

Note

The  copy  keyword will change behavior in pandas 3.0. [ Copy-on-Write
](https://pandas.pydata.org/docs/dev/user_guide/copy_on_write.html) will be
enabled by default, which means that all methods with a  copy  keyword will
use a lazy copy mechanism to defer the copy and ignore the  copy  keyword. The
copy  keyword will be removed in a future version of pandas.

You can already get the future behavior and improvements through enabling copy
on write ` pd.options.mode.copy_on_write  =  True  `

**allows_duplicate_labels** bool, optional

    

Whether the returned object allows duplicate labels.

Returns  :

    

Series or DataFrame

    

The same type as the caller.

See also

[ ` DataFrame.attrs  ` ](pandas.DataFrame.attrs.html#pandas.DataFrame.attrs
"pandas.DataFrame.attrs")

    

Global metadata applying to this dataset.

` DataFrame.flags  `

    

Global flags applying to this object.

Notes

This method returns a new object thatâs a view on the same data as the
input. Mutating the input or the output values will be reflected in the other.

This method is intended to be used in method chains.

âFlagsâ differ from âmetadataâ. Flags reflect properties of the pandas
object (the Series or DataFrame). Metadata refer to properties of the dataset,
and should be stored in [ ` DataFrame.attrs  `
](pandas.DataFrame.attrs.html#pandas.DataFrame.attrs "pandas.DataFrame.attrs")
.

Examples

    
    
    >>> df = pd.DataFrame({"A": [1, 2]})
    >>> df.flags.allows_duplicate_labels
    True
    >>> df2 = df.set_flags(allows_duplicate_labels=False)
    >>> df2.flags.allows_duplicate_labels
    False
    

[ __ previous  pandas.DataFrame.empty  ](pandas.DataFrame.empty.html "previous
page") [ next  pandas.DataFrame.astype  __ ](pandas.DataFrame.astype.html
"next page")

__ On this page

  * ` DataFrame.set_flags()  `

[ __ Show Source
](../../_sources/reference/api/pandas.DataFrame.set_flags.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.