.loc与pandas同时使用同一列

时间:2017-03-14 08:09:42

标签: python pandas loc

这可能是一个相当无用的问题,但我想学习如何做 .loc用于同时按行切片的同一列。让我们想象一下我有这个df:

k1 = pd.DataFrame([1,2,3,4])
k2 = pd.DataFrame( [5,6,7,8])
k3 =  pd.DataFrame([9,10,11,12])
frames = [k1,k2,k3]
k4 = pd.concat(frames, axis = 1).T
k4.loc[1] = 'HOla'
k4.loc[2] = 'Bye'
k4 = k4.reset_index()
k4.loc[0,4]= 0.00
k4.loc[1:2,4]= 288
k4.loc[3:,4]= 'New'

我怎么能用一句话更新第4列,还是不可能? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要:来选择所有行:

#if need update column 4 to value 1
k4.loc[:, 4] = 1
#if need update column 3 to value a
k4.loc[:, 3] = 'a'
#for select row : can be omit
#if need update row 3 to value b
k4.loc[3] = 'b'
#if need update row 2 to value c
k4.loc[2, :] = 'c'
print (k4)
  index    0    1    2  3            4
0     0    1    2    3  a            1
1     0    5    6    7  a  some string
2     c    c    c    c  c            c
3     b    b    b    b  b            b
4     2  Bye  Bye  Bye  a            1