【发布时间】:2019-03-07 19:30:58
【问题描述】:
我有一个数据框,其中有分类列和数值列。
data = [['A',"India",10,20,30,15,"Cochin"],['B',"India",10,20,30,40,"Chennai"],['C',"India",10,20,30,15,"Chennai"]]
df = pd.DataFrame(data,columns=['Product','Country',"2016 Total","2017 Total","2018 Total","2019 Total","Region"])
Product Country 2016 Total 2017 Total 2018 Total 2019 Total Region
0 A India 10 20 30 15 Cochin
1 B India 10 20 30 40 Chennai
2 C India 10 20 30 15 Chennai
我知道数值变量列的名称是什么(需要动态捕获):
start_year = 2016
current_year = datetime.datetime.now().year
previous_year = current_year - 1
print(current_year)
year_list = np.arange(start_year, current_year+1, 1)
cols_list = []
for i in year_list:
if i <= current_year:
cols = str(i)+" Total"
cols_list.append(cols)
cols_list
['2016 年总计', '2017 年总计', '2018 年总计', '2019 年总计']
我正在尝试确定相乘时 cols_list 列中的值是否为负
如何在 pandas 中做到这一点?我无法弄清楚如何遍历 cols_list 并从数据框中提取列并相乘
预期输出:
Product Country 2016 Total 2017 Total 2018 Total 2019 Total Region Negative
0 A India 10 20 30 15 Cochin No
1 B India 10 20 30 40 Chennai No
2 C India 10 20 30 15 Chennai No
【问题讨论】:
标签: python-3.x pandas dataframe