首页 > 解决方案 > 将字符串传递给数据框 - For 循环

问题描述

我有以下代码示例。我基本上想解析循环内的字符串。

import pandas as pd
x =['C1','D1']
for name in Loco:
    df=df[df.x != 0  ]
    df=d [x].diff().abs()

我需要的是例如下面的两行来运行

df=df[df.C1 != 0  ]
df=df['C1'].diff().abs()
df=df[df.D1 != 0  ]
df=df['D1'].diff().abs()

标签: pythonpython-3.xpandas

解决方案


国际大学联盟:

尝试使用 loc:

x =['C1','D1']
for name in x:
    df.loc[df[name]!= 0,name]=df.loc[df[name]!= 0,name].diff().abs()

示例日期范围:

from numpy.random import randint
df=pd.DataFrame()
df['C1']=randint(0,5,(10,))
df['D1']=randint(0,5,(10,))

推荐阅读