根据包含字符串的列(2个定义的条件)从另一个数据框创建一个数据框

时间:2020-05-07 18:34:35

标签: python pandas

我正在尝试将df1中的某些列编译为新的数据帧df2。

将根据以下条件选择列:

  1. 如果单词“ COORDINATES”在列中

  2. 如果单词“ ID”在列中

这是我尝试的代码:

df1 = pd.read_csv(csvpath) #table as below

cols = [col for col in df1.columns if  'Coordinates' and 'ID' in col]

df2=df1[cols]

但是条件仅适用于cols =中的最后一项(在这种情况下,仅提取ID并忽略坐标)

我如何编辑上面的代码以同时包含坐标和ID(我可以只删除不需要的列,但是要处理的数据集很大,因此我需要以与上面定义的方式类似的方式进行操作)

非常感谢您的帮助。

原始表(df1)

enter image description here

必需的输出(df2)

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为这应该有效

cols = [col for col in df1.columns if  'Coordinates' in col or 'ID' in col]