计算m10到m500最近200行和值
要求是不为0的最小值返回输出列名
麻烦解决下
计算m10到m500最近200行和值
要求是不为0的最小值返回输出列名
麻烦解决下
题主的问题描述不够清晰,可能想表达的意思是连续200行中一旦出现某列和值为0时,找出这些列的和值,并打印出和值为0的那一列名。
如果是这样问题的话,下面写一段代码基本能实现这个需求::
import pandas as pd
df=pd.read_csv('cs.csv')
df=df.iloc[:,7:]
print(df.head())
for i in range(len(df)-200):
df1=df.iloc[i:200+i,:]
sums=df1.apply(sum,axis=0)
if any(sums==0):
print(sums)
ind=sums[sums.values==0].index.tolist()
if len(ind)==1:
print(ind[0])
else:
print(ind)
根据题主要求,补充代码如下,供参考:
import pandas as pd
df=pd.read_csv('cs.csv')
df1=df.iloc[-200:,7:]
v=min([x for x in df1.apply(sum,axis=0) if x!=0])
for ind in df1.columns:
if df1[ind].sum()==v:
print(ind)
#output:m180
如对你有帮助,可点击本回答的右上方采纳按钮给予采纳。