我想将行添加到多维pd.Series。
b = pd.Series([1,1,2,3], index = [["digit", "digit", "digit", "digit"], ["one", "one", "two", "three"]])
b
Out[30]:
digit one 1
one 1
two 2
three 3
dtype: int64
现在,当我做
b.loc["digit"].loc["four"] = 4
什么都没发生。没有错误,但是b保持不变。
尽管此方法适用于一维系列
最佳答案
您需要sort_index
是因为:
PerformanceWarning:索引超过lexsort深度可能会影响性能。
然后用loc
元组:
b = b.sort_index()
b.loc[("digit", "four")] = 4
print (b)
digit one 1
one 1
three 3
two 2
four 4
dtype: int64
concat
的另一种解决方案:c = pd.Series([4], index=pd.MultiIndex.from_arrays([['digit'],['four']]))
b = pd.concat([b, c])
print (b)
digit one 1
one 1
two 2
three 3
four 4
dtype: int64
关于python - 大尺寸物体的 Pandas 扩大,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44996599/