检查字符串是否在数据帧中并修改

2024-04-19 07:11:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查字符串是否在dataframe中,并修改那一行。你知道吗

我知道如何找到数据帧中是否存在字符串,例如:

if usd_margin_data['acct'].str.contains(row['acct']).any():

但是现在我想修改包含字符串的行。我该怎么做?你知道吗

TypeError: first argument must be string or compiled pattern

Tags: 数据字符串margindataframedataifanyargument
1条回答
网友
1楼 · 发布于 2024-04-19 07:11:10

用途:

df11 = (df1.pivot_table(index='acct',
                    columns='exchange',
                    values='spanReq',
                    aggfunc='sum')
      )
print (df11)
exchange        CME         HKEX          OSE          SGX
acct                                                      
10        1728005.0         0.00          NaN          NaN
20          83671.0          NaN  106516141.0  14872000.00
30           6237.0          NaN          NaN          NaN
40         857120.0  36071131.40          NaN   2987340.93
60        2803385.0   3459377.95          NaN   2030260.39
70        9007666.0     81300.00    1800000.0  57172391.00
80              NaN  23698214.00          NaN          NaN
90         119644.0          NaN          NaN          NaN

df2 = df2.replace('-', np.nan).replace(',', '', regex=True).astype(float).set_index('Account')
print (df2)
               SGX       HKEX        OSE        CME      Total
Account                                                       
10.0           NaN        NaN        NaN  1549946.0  1549946.0
20.0      144262.0        NaN  1173680.0    83557.0  1401500.0
30.0           NaN        NaN        NaN     6237.0     6237.0
40.0     3834382.0  4455808.0        NaN   631892.0  8922082.0
60.0     2329690.0   199192.0        NaN  3754770.0  6283652.0
70.0      514978.0    10360.0    16213.0  4777373.0  5318923.0
80.0           NaN  1741612.0        NaN        NaN  1741612.0
90.0           NaN        NaN        NaN   119644.0   119644.0

df3 = df11.combine_first(df2)
print (df3)
            CME         HKEX          OSE          SGX      Total
acct                                                             
10    1728005.0         0.00          NaN          NaN  1549946.0
20      83671.0          NaN  106516141.0  14872000.00  1401500.0
30       6237.0          NaN          NaN          NaN     6237.0
40     857120.0  36071131.40          NaN   2987340.93  8922082.0
60    2803385.0   3459377.95          NaN   2030260.39  6283652.0
70    9007666.0     81300.00    1800000.0  57172391.00  5318923.0
80          NaN  23698214.00          NaN          NaN  1741612.0
90     119644.0          NaN          NaN          NaN   119644.0

相关问题 更多 >