Remove code from Stack Overflow
authorDebian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Tue, 28 Jan 2025 22:18:06 +0000 (22:18 +0000)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Tue, 28 Jan 2025 22:18:06 +0000 (22:18 +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 3e17175167f25a4bfc7eb559070927f56dc84eae..ce013079f1ce3a72bddb1f3b9d70fbc381e76df7 100644 (file)
@@ -2465,14 +2465,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 f60ff65536f20458220a763b946198842d9bf07e..75320bb94eafd2657f7a456723fb3ec9fd442bab 100644 (file)
@@ -988,28 +988,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 0dd1a56890fee90e49646ff2a1fe87c6249b3f57..473a59c802911e93554c7934a22fbabae9aa7db7 100644 (file)
@@ -13,35 +13,6 @@ from pandas import (
 import pandas._testing as tm
 
 
-def test_detect_chained_assignment(using_copy_on_write, warn_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)
-    elif warn_copy_on_write:
-        with tm.assert_produces_warning(None):
-            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):
-            with tm.assert_produces_warning(None):
-                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, warn_copy_on_write):
index 53ad4d6b41687e8e778710d1de22c19ebbfd3495..3c7784a77af3f5e3d091d2ff8efb1f98f4733fb7 100644 (file)
@@ -154,36 +154,7 @@ 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, 1, 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 b97df376ac47fd8b62f631e38133ae0c0251fd63..5c20958c2b6ee3c91dd899f744783ccafd7f2752 100644 (file)
@@ -429,27 +429,6 @@ class TestChaining:
         df["column1"] = df["column1"] + "c"
         str(df)
 
-    @pytest.mark.arm_slow
-    def test_detect_chained_assignment_undefined_column(
-        self, using_copy_on_write, warn_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)
-        elif warn_copy_on_write:
-            with tm.raises_chained_assignment_error():
-                df.iloc[0:5]["group"] = "a"
-        else:
-            with pytest.raises(SettingWithCopyError, match=msg):
-                with tm.raises_chained_assignment_error():
-                    df.iloc[0:5]["group"] = "a"
 
     @pytest.mark.arm_slow
     def test_detect_chained_assignment_changing_dtype(
index 7ffc49e941c14fb9e1a3d2d771bb493b9b283a36..ab756ac121767b76f6da006ace384f2a58089f82 100644 (file)
@@ -381,23 +381,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"'''
-
-    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"]))
-
 
 def test_ignore_leading_whitespace(all_parsers):
     # see gh-3374, gh-6607