练习题目
1、找出每一行第一个不为零的列名添加到最后一列,没有找到则把空添加到最后一列。用python解决。
- 遍历每一行找到不为零的下标
- 根据下标获取列名
- 为datafame增加一列
# pip install pandas numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
import pandas as pd
def find(line):
for i, v in enumerate(line):
if v > 0:
return line.index[i]
return ""
def repair_data(data):
a = []
for index, row in data.iterrows():
a.append(find(row))
data['rs'] = a
return data
if __name__ == '__main__':
inp = [{'c1': 10, 'c2': 100}, {'c1': 0, 'c2': 1}, {'c1': 0, 'c2': 0}, {'c1': 12, 'c2': 0}]
df = pd.DataFrame(inp)
print(repair_data(df))
运行结果如下: