擅长:python、mysql、java
<p>下面是可以运行代码的可复制数据集。你知道吗</p>
<p>代码:</p>
<pre><code>import pandas as pd
pd.options.display.max_columns = 10
headers = [
'Time',
'Company1',
'Company2',
'Company3',
'Company4',
'Company5',
'Company6',
]
records = [
('1/01/2015', 10, 20, 30, 40, 50, 60),
('2/01/2015', 100, 200, 300, 400, 500, 600),
('3/01/2015', 1000, 2000, 3000, 4000, 5000, 6000),
]
data = pd.DataFrame.from_records(records, columns=headers)
mapper = pd.DataFrame(
[
('Company1', 'A'),
('Company2', 'A'),
('Company3', 'B'),
('Company4', 'B'),
('Company5', 'C'),
('Company6', 'C'),
],
columns=['Company', 'Class'],
)
for col_name in ['A', 'B', 'C']:
class_companies_group = mapper[mapper['Class'] == col_name]['Company'].values
data[col_name] = data[class_companies_group].sum(axis=1)
result = data[['Time', 'A', 'B', 'C']]
print(result)
</code></pre>
<p>输出结果:</p>
<pre><code> Time A B C
0 1/01/2015 30 70 110
1 2/01/2015 300 700 1100
2 3/01/2015 3000 7000 11000
</code></pre>