Remove code from Stack Overflow
authorDebian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Sun, 18 Feb 2024 20:31:18 +0000 (20:31 +0000)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Sun, 18 Feb 2024 20:31:18 +0000 (20:31 +0000)
Stack Overflow content is CC-BY-SA licensed,
which this package is not supposed to be.  These snippets may be
too small to be copyrightable, but removing them to be safe.

https://lists.debian.org/debian-legal/2020/04/threads.html#00018

Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Forwarded: no - deletes some tests/examples without replacement

Gbp-Pq: Name remove_ccbysa_snippets.patch

doc/source/user_guide/cookbook.rst [new file with mode: 0644]
doc/source/user_guide/index.rst
pandas/io/sql.py
pandas/tests/groupby/test_categorical.py
pandas/tests/indexing/multiindex/test_chaining_and_caching.py
pandas/tests/indexing/multiindex/test_setitem.py
pandas/tests/indexing/test_chaining_and_caching.py
pandas/tests/io/parser/common/test_common_basic.py

diff --git a/doc/source/user_guide/cookbook.rst b/doc/source/user_guide/cookbook.rst
new file mode 100644 (file)
index 0000000..62a1aad
--- /dev/null
@@ -0,0 +1,22 @@
+.. _cookbook:
+
+{{ header }}
+
+.. _cookbook.idioms:
+.. _cookbook.selection:
+.. _cookbook.multi_index:
+.. _cookbook.missing_data:
+.. _cookbook.grouping:
+.. _cookbook.pivot:
+.. _cookbook.resample:
+.. _cookbook.merge:
+.. _cookbook.plotting:
+.. _cookbook.csv:
+.. _cookbook.csv.multiple_files:
+.. _cookbook.sql:
+.. _cookbook.excel:
+.. _cookbook.html:
+.. _cookbook.hdf:
+.. _cookbook.binary:
+
+This page has been removed for copyright reasons.
index f0d6a76f0de5bc3d34b5c0623960a1dd79d894de..3eb776f089f32e042febc38ca36b2b1d747cd10f 100644 (file)
@@ -87,4 +87,3 @@ Guides
     scale
     sparse
     gotchas
-    cookbook
index c1d68d71ac91c860812e92ebbdf2485a3a87fded..4416dc04a5d9c1882d6f66cf72696ad77b79a75d 100644 (file)
@@ -2053,14 +2053,14 @@ def _get_valid_sqlite_name(name: object):
     # Replace all " with "".
     # Wrap the entire thing in double quotes.
 
-    uname = _get_unicode_name(name)
-    if not len(uname):
+    name = _get_unicode_name(name)
+    if not len(name):
         raise ValueError("Empty table or column name specified")
 
-    nul_index = uname.find("\x00")
-    if nul_index >= 0:
+    if '\0' in name:
         raise ValueError("SQLite identifier cannot contain NULs")
-    return '"' + uname.replace('"', '""') + '"'
+    name = name.replace('"', '""')
+    return '"' + name + '"'
 
 
 class SQLiteTable(SQLTable):
index 68ce58ad236906d126c8f9b6245569536848d28e..761111d7830b694cfd5c3188d01e47c352b65103 100644 (file)
@@ -980,28 +980,6 @@ def test_groupby_empty_with_category():
     tm.assert_series_equal(result, expected)
 
 
-def test_sort():
-    # https://stackoverflow.com/questions/23814368/sorting-pandas-
-    #        categorical-labels-after-groupby
-    # This should result in a properly sorted Series so that the plot
-    # has a sorted x axis
-    # self.cat.groupby(['value_group'])['value_group'].count().plot(kind='bar')
-
-    df = DataFrame({"value": np.random.default_rng(2).integers(0, 10000, 100)})
-    labels = [f"{i} - {i+499}" for i in range(0, 10000, 500)]
-    cat_labels = Categorical(labels, labels)
-
-    df = df.sort_values(by=["value"], ascending=True)
-    df["value_group"] = pd.cut(
-        df.value, range(0, 10500, 500), right=False, labels=cat_labels
-    )
-
-    res = df.groupby(["value_group"], observed=False)["value_group"].count()
-    exp = res[sorted(res.index, key=lambda x: float(x.split()[0]))]
-    exp.index = CategoricalIndex(exp.index, name=exp.index.name)
-    tm.assert_series_equal(res, exp)
-
-
 @pytest.mark.parametrize("ordered", [True, False])
 def test_sort2(sort, ordered):
     # dataframe groupby sort was being ignored # GH 8868
index 7adc697610f3c10c47c959cce567afca1e8b6177..183498002b138af762c0b882a2783e0d2df8a2ef 100644 (file)
@@ -12,32 +12,6 @@ from pandas import (
 import pandas._testing as tm
 
 
-def test_detect_chained_assignment(using_copy_on_write):
-    # Inplace ops, originally from:
-    # https://stackoverflow.com/questions/20508968/series-fillna-in-a-multiindex-dataframe-does-not-fill-is-this-a-bug
-    a = [12, 23]
-    b = [123, None]
-    c = [1234, 2345]
-    d = [12345, 23456]
-    tuples = [("eyes", "left"), ("eyes", "right"), ("ears", "left"), ("ears", "right")]
-    events = {
-        ("eyes", "left"): a,
-        ("eyes", "right"): b,
-        ("ears", "left"): c,
-        ("ears", "right"): d,
-    }
-    multiind = MultiIndex.from_tuples(tuples, names=["part", "side"])
-    zed = DataFrame(events, index=["a", "b"], columns=multiind)
-
-    if using_copy_on_write:
-        with tm.raises_chained_assignment_error():
-            zed["eyes"]["right"].fillna(value=555, inplace=True)
-    else:
-        msg = "A value is trying to be set on a copy of a slice from a DataFrame"
-        with pytest.raises(SettingWithCopyError, match=msg):
-            zed["eyes"]["right"].fillna(value=555, inplace=True)
-
-
 @td.skip_array_manager_invalid_test  # with ArrayManager df.loc[0] is not a view
 def test_cache_updating(using_copy_on_write):
     # 5216
index 51b94c3beeb6fc5155b215fd86e498cf6da121d9..235a0400740ede8f716a1f53b32620c5d7cc857e 100644 (file)
@@ -155,36 +155,6 @@ class TestMultiIndexSetItem:
         with pytest.raises(TypeError, match=msg):
             df.loc["bar"] *= 2
 
-    def test_multiindex_setitem2(self):
-        # from SO
-        # https://stackoverflow.com/questions/24572040/pandas-access-the-level-of-multiindex-for-inplace-operation
-        df_orig = DataFrame.from_dict(
-            {
-                "price": {
-                    ("DE", "Coal", "Stock"): 2,
-                    ("DE", "Gas", "Stock"): 4,
-                    ("DE", "Elec", "Demand"): 1,
-                    ("FR", "Gas", "Stock"): 5,
-                    ("FR", "Solar", "SupIm"): 0,
-                    ("FR", "Wind", "SupIm"): 0,
-                }
-            }
-        )
-        df_orig.index = MultiIndex.from_tuples(
-            df_orig.index, names=["Sit", "Com", "Type"]
-        )
-
-        expected = df_orig.copy()
-        expected.iloc[[0, 2, 3]] *= 2
-
-        idx = pd.IndexSlice
-        df = df_orig.copy()
-        df.loc[idx[:, :, "Stock"], :] *= 2
-        tm.assert_frame_equal(df, expected)
-
-        df = df_orig.copy()
-        df.loc[idx[:, :, "Stock"], "price"] *= 2
-        tm.assert_frame_equal(df, expected)
 
     def test_multiindex_assignment(self):
         # GH3777 part 2
index f36fdf0d36ea94760baefb317729a7b6505490be..228b28f73f5a941628fa305b3a92bcbab485b67a 100644 (file)
@@ -422,21 +422,6 @@ class TestChaining:
         str(df)
 
     @pytest.mark.arm_slow
-    def test_detect_chained_assignment_undefined_column(self, using_copy_on_write):
-        # from SO:
-        # https://stackoverflow.com/questions/24054495/potential-bug-setting-value-for-undefined-column-using-iloc
-        df = DataFrame(np.arange(0, 9), columns=["count"])
-        df["group"] = "b"
-        df_original = df.copy()
-
-        if using_copy_on_write:
-            with tm.raises_chained_assignment_error():
-                df.iloc[0:5]["group"] = "a"
-            tm.assert_frame_equal(df, df_original)
-        else:
-            with pytest.raises(SettingWithCopyError, match=msg):
-                df.iloc[0:5]["group"] = "a"
-
     @pytest.mark.arm_slow
     def test_detect_chained_assignment_changing_dtype(
         self, using_array_manager, using_copy_on_write
index 442aa5ef87b108356a42148b7e55f4258cc6fdb3..0e9809cebd28e27eea1a11907b98d85438a3b85a 100644 (file)
@@ -349,24 +349,6 @@ def test_trailing_delimiters(all_parsers):
     tm.assert_frame_equal(result, expected)
 
 
-def test_escapechar(all_parsers):
-    # https://stackoverflow.com/questions/13824840/feature-request-for-
-    # pandas-read-csv
-    data = '''SEARCH_TERM,ACTUAL_URL
-"bra tv board","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
-"tv p\xc3\xa5 hjul","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
-"SLAGBORD, \\"Bergslagen\\", IKEA:s 1700-tals series","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"'''  # noqa: E501
-
-    parser = all_parsers
-    result = parser.read_csv(
-        StringIO(data), escapechar="\\", quotechar='"', encoding="utf-8"
-    )
-
-    assert result["SEARCH_TERM"][2] == 'SLAGBORD, "Bergslagen", IKEA:s 1700-tals series'
-
-    tm.assert_index_equal(result.columns, Index(["SEARCH_TERM", "ACTUAL_URL"]))
-
-
 @xfail_pyarrow
 def test_ignore_leading_whitespace(all_parsers):
     # see gh-3374, gh-6607