File tree Expand file tree Collapse file tree 3 files changed +10
-15
lines changed Expand file tree Collapse file tree 3 files changed +10
-15
lines changed Original file line number Diff line number Diff line change @@ -140,12 +140,14 @@ def __init__(
140
140
# infer defaults
141
141
if storage is None :
142
142
if na_value is not libmissing .NA :
143
- if HAS_PYARROW :
144
- storage = "pyarrow"
145
- else :
146
- storage = "python"
147
- else :
148
143
storage = get_option ("mode.string_storage" )
144
+ if storage is None :
145
+ if HAS_PYARROW :
146
+ storage = "pyarrow"
147
+ else :
148
+ storage = "python"
149
+ else :
150
+ storage = get_option ("mode.string_storage" ) or "python"
149
151
150
152
if storage == "pyarrow_numpy" :
151
153
# TODO raise a deprecation warning
Original file line number Diff line number Diff line change @@ -452,13 +452,12 @@ def is_terminal() -> bool:
452
452
453
453
string_storage_doc = """
454
454
: string
455
- The default storage for StringDtype. This option is ignored if
456
- ``future.infer_string`` is set to True.
455
+ The default storage for StringDtype.
457
456
"""
458
457
459
458
460
459
def is_valid_string_storage (value : Any ) -> None :
461
- legal_values = ["python" , "pyarrow" ]
460
+ legal_values = [None , "python" , "pyarrow" ]
462
461
if value not in legal_values :
463
462
msg = "Value must be one of python|pyarrow"
464
463
if value == "pyarrow_numpy" :
@@ -473,7 +472,7 @@ def is_valid_string_storage(value: Any) -> None:
473
472
with cf .config_prefix ("mode" ):
474
473
cf .register_option (
475
474
"string_storage" ,
476
- "python" ,
475
+ None ,
477
476
string_storage_doc ,
478
477
# validator=is_one_of_factory(["python", "pyarrow"]),
479
478
validator = is_valid_string_storage ,
Original file line number Diff line number Diff line change 4
4
import numpy as np
5
5
import pytest
6
6
7
- from pandas .compat import HAS_PYARROW
8
7
import pandas .util ._test_decorators as td
9
8
10
9
import pandas as pd
@@ -28,11 +27,6 @@ def test_eq_all_na():
28
27
29
28
30
29
def test_config (string_storage , request , using_infer_string ):
31
- if using_infer_string and string_storage == "python" and HAS_PYARROW :
32
- # string storage with na_value=NaN always uses pyarrow if available
33
- # -> does not yet honor the option
34
- request .applymarker (pytest .mark .xfail (reason = "TODO(infer_string)" ))
35
-
36
30
with pd .option_context ("string_storage" , string_storage ):
37
31
assert StringDtype ().storage == string_storage
38
32
result = pd .array (["a" , "b" ])
You can’t perform that action at this time.
0 commit comments