BUG: unexpected assign by a single-element list · Issue #19474 · pandas-dev/pandas (original) (raw)

#more elements : as I expected
df = pd.DataFrame([[1,2,3],[4,5,6]], columns=["A", "B", "C"])
df.loc[0, ["A", "B"]] = ["X", "Y"]
df
   A  B  C
0  X  Y  3
1  4  5  6

#axis=0 : as I expected
df = pd.DataFrame([[1,2,3],[4,5,6]], columns=["A", "B", "C"])
df.loc[[0], "C"] = ["Z"]
df
   A  B  C
0  1  2  Z
1  4  5  6

#using numpy.array : NOT as I expected
import numpy as np
df = pd.DataFrame([[1,2,3],[4,5,6]], columns=["A", "B", "C"])
s = np.array(["Z"])
df.loc[0, ["C"]] = s
df
   A  B    C
0  1  2  [Z]
1  4  5    6

#assign instead a list containing int : as I expected
df = pd.DataFrame([[1,2,3], [4,5,6]],columns=["A", "B", "C"])
df.loc[0, ["C"]] = [9]
df
   A  B  C
0  1  2  9
1  4  5  6