使用熊猫,我发现自己写了很多东西:
try:
a = df.loc('A81001')
a['somecol'] = 'someval'
except KeyError:
pass
有更优雅的方式做事吗?
答案 0 :(得分:0)
我不认为它非常优雅,但它会为您节省try
/ except
:
请考虑以下事项:
df = pd.DataFrame({'a': range(4), 'b': range(1, 5)})
df.b.values[df.a.values == 3] = 2
df.b.values[df.a.values == 30] = 3
>>> df
a b
0 0 1
1 1 2
2 2 3
3 3 2
请注意
df.b.values[df.a.values == 30] = 3
是一个无操作。
请注意,对于索引,它的想法是相同的
df = pd.DataFrame({'a': range(4), 'b': range(1, 5)}).set_index('a')
df.b[df.index == 3] = 29
df.b[df.index == 30] = 3