如何根据其他列中的两个条件在特定位置插入多个列

时间:2019-11-07 17:40:13

标签: python pandas

我需要重写一些已有的代码。

它会插入缺少“标准偏差”列的列。为此,它将检查前一列是否为“变量”列,以及其后是否已存在“标准差”列。

现在,我正在使用一个while循环,该循环遍历检查 if (getIntent() != null){ String spinner1Value = getIntent().getStringExtra("data_spinner_1"); String spinner2Value = getIntent().getStringExtra("data_spinner_2"); } df.iloc[1,x]的列。

df.iloc[1,x+1]

数据框的片段(很难理解):

i = 7
j = len(df.columns)-1

while i < j:
    if df.loc[1,i] != 'Standard Deviation' and df.loc[1,i] != 'Replicates' and df.loc[1,i] != 'Method':
        if df.loc[1,i+1] != 'Standard Deviation':
            df.insert(i+1,'Standard Deviation',np.nan)
            df.columns = pd.RangeIndex(df.columns.size)
            df.loc[1,i+1]='Standard Deviation'
    i+=1
    j = len(df.columns)-1

df.insert(len(df.columns),'Standard Deviation',np.nan)
df.columns = pd.RangeIndex(df.columns.size)
df.loc[1,len(df.columns)-1]='Standard Deviation'

现在代码可以正常工作并给出预期的结果。我只想以更有效/更优雅的方式重写它。

如果不遍历指定检查50 51 52 53 54 55 56 57 58 0 Pour Point (°C) Pour Point (°C) Pour Point (°C) Pour Point (°C) Boiling Point Distribution- Temperature (°C) Boiling Point Distribution- Temperature (°C) Boiling Point Distribution- Temperature (°C) Boiling Point Distribution- Temperature (°C) Boiling Point Distribution- Temperature (°C) 1 Pour point Standard Deviation Replicates Method Initial Boiling Point 5% 10% 15% 20% 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN 3 < -25 NaN NaN ASTM D97 NaN 35 52 70 88 4 < -25 NaN NaN ASTM D97 NaN 56 84 104 135 5 -6 NaN NaN ASTM D97 NaN 115 166 224 259 6 24 NaN NaN ASTM D97 NaN 279 303 322 339 df.iloc[1,i]的列,我不知道该怎么做。

0 个答案:

没有答案