Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果列表中有其他列数据,则更改一列数据_Python_Pandas - Fatal编程技术网

Python 如果列表中有其他列数据,则更改一列数据

Python 如果列表中有其他列数据,则更改一列数据,python,pandas,Python,Pandas,我在这样的数据框中有一些数据: COLUMNS Point,x,y,z,Description,Layer,Date 1,224939.203,1243008.651,1326.774,F,C-GRAD-FILL,09/22/18 07:24:34, 1,225994.242,1243021.426,1301.772,BS,C-GRAD-FILL,09/24/18 08:24:18, 451,225530.332,1243016.186,1316.173,GRD,C-TOE,10/02/18 1

我在这样的数据框中有一些数据:

COLUMNS Point,x,y,z,Description,Layer,Date
1,224939.203,1243008.651,1326.774,F,C-GRAD-FILL,09/22/18 07:24:34,
1,225994.242,1243021.426,1301.772,BS,C-GRAD-FILL,09/24/18 08:24:18,
451,225530.332,1243016.186,1316.173,GRD,C-TOE,10/02/18 11:49:13,
452,225522.429,1242996.017,1319.168,GRD,C-TOE KEY,10/02/18 11:49:46,
我想尝试对照字符串列表检查它是否匹配,然后更改另一个columns值

myList = ["BS", "C"]
if df['Description'].isin(myList)) == True:
     df['Layer']="INLIST"
     df['Date']="1/1/2018'
使用具有以下功能的遮罩:

或者,使用:


注意:您可能应该将日期存储为
datetime
对象,例如
pd.Timestamp('2018-01-01')
,或者通过转换序列。通常不需要Python级别的循环。

从jpp借用
掩码
,并使用列表来分配值

df.loc[mask,['Layer','Date']]=['INLIST','1/1/2018']

可以请你把DataFrm放在帖子里,为了得到答案,这个看起来像逗号分隔的数据看起来像CSV数据集,但是也有条件,如<代码> [BS','C'] /<代码> <代码>描述< /C> >,所以你也需要考虑。@ JPG-面具从JPP:-)
mask = df['Description'].isin(['BS', 'C'])
df['Layer'].mask(mask, 'INLIST', inplace=True)
df['Date'].mask(mask, '1/1/2018', inplace=True)
df.loc[mask,['Layer','Date']]=['INLIST','1/1/2018']