我有一个数据框,看起来像:
+-----------+---------+-------+-------+-------+ | | | Day 1 | Day 2 | Day 3 | +-----------+---------+-------+-------+-------+ | Product 1 | Revenue | 0 | 0 | 0 | | | Cost | 0 | 0 | 0 | | Product 2 | Revenue | 0 | 0 | 0 | | | Cost | 0 | 0 | 0 | | Product 3 | Revenue | 0 | 0 | 0 | | | Cost | 0 | 0 | 0 | +-----------+---------+-------+-------+-------+
基本上是一个垂直的两级索引。第一个层次是产品,第二个层次是收入或成本。
Product 1 Revenue 0 Cost 0 Profit 0
如何做到这一点?
它确实取决于您要执行此操作的次数以及当前其他值的存储方式。
如果你只想增加一小部分利润以上每一个你可以使用 this method . 但是,此方法使用 ix at ,
ix
at
df = pd.DataFrame({('A', 'b'): [1, 2, 3], ('A', 'a'): [7, 2, 9]}).T df.at[('B', 'a'), :] = [1, 4, 5] Out[1]: 0 1 2 A b 1 2 3 a 7 2 9 B a 1 4 5
concat ,就像这样,
concat
df = pd.DataFrame({('A', 'b'): [1, 2, 3], ('A', 'a'): [7, 2, 9]}).T df2 = pd.DataFrame({('B', 'a'): [1, 4, 5]}).T pd.concat([df, df2]) Out[1]: 0 1 2 A b 1 2 3 a 7 2 9 B a 1 4 5