作者os653 ()
看板Python
标题[问题] 关於 assign series to dataframe
时间Tue Nov 13 19:58:45 2018
>>> df = pd.DataFrame([[1,2],[3,4],[5,6]])
>>> df
0 1
0 1 2
1 3 4
2 5 6
>>> selected_df = df.loc[[0,2]]
>>> selected_df
0 1
0 1 2
2 5 6
>>> selected_df.loc[:, 'assign_by_series'] = pd.Series([100, 200])
>>> selected_df
0 1 assign_by_series
0 1 2 100.0
2 5 6 NaN
>>> selected_df.loc[:, 'assign_by_list'] = [100, 200]
>>> selected_df
0 1 assign_by_series assign_by_list
0 1 2 100.0 100
2 5 6 NaN 200
示意如上
assign series 时,资料被依照 index 存了
又因为 series 只有两笔资料,所以 selected_df 的第三笔变成 NaN
而 list 不会有这问题
请问这是正常的吗?因为蛮容易不小心手残写错
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.118.215.190
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1542110328.A.98D.html