这可能是一个相当无用的问题,但我想学习如何做 .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列,还是不可能? 提前谢谢。
答案 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