如果索引像字典一样不存在而不检查是否存在,则数据框添加新行
Dataframe add new row if the index does not exist like a dictionary without checking existence
import pandas as pd
a = [['a', 1, 2, 3], ['b', 4, 5, 6], ['c', 7, 8, 9]]
df = pd.DataFrame(a, columns=['alpha', 'one', 'two', 'three'])
df.set_index(['alpha'], inplace = True)
one two three
alpha
a 1 2 3
b 4 5 6
c 7 8 9
我想设置一些值,例如:
df.loc['a']['one'] = 1000
并且当索引不存在时,我们使用这个索引添加一个新行,而不像字典一样检查是否存在(如果键不存在dict[new key]
会自动创建这个键)。例如:
df.loc['d']['three'] = 999
然后会有一个新行:
d: Nan, Nan, 999
以下代码对我不起作用:
df.loc['d']['three'] = 999
这正是 pandas 所做的,但是您需要正确使用 loc
索引器:
df.loc['a', 'one'] = 1000
df.loc['d', 'three'] = 999
输出:
one two three
alpha
a 1000.0 2.0 3.0
b 4.0 5.0 6.0
c 7.0 8.0 9.0
d NaN NaN 999.0
import pandas as pd
a = [['a', 1, 2, 3], ['b', 4, 5, 6], ['c', 7, 8, 9]]
df = pd.DataFrame(a, columns=['alpha', 'one', 'two', 'three'])
df.set_index(['alpha'], inplace = True)
one two three
alpha
a 1 2 3
b 4 5 6
c 7 8 9
我想设置一些值,例如:
df.loc['a']['one'] = 1000
并且当索引不存在时,我们使用这个索引添加一个新行,而不像字典一样检查是否存在(如果键不存在dict[new key]
会自动创建这个键)。例如:
df.loc['d']['three'] = 999
然后会有一个新行:
d: Nan, Nan, 999
以下代码对我不起作用:
df.loc['d']['three'] = 999
这正是 pandas 所做的,但是您需要正确使用 loc
索引器:
df.loc['a', 'one'] = 1000
df.loc['d', 'three'] = 999
输出:
one two three
alpha
a 1000.0 2.0 3.0
b 4.0 5.0 6.0
c 7.0 8.0 9.0
d NaN NaN 999.0