我想删除数据框列中列表的特定索引

时间:2019-12-07 20:37:51

标签: python

数据框包含一个名为疾病的列,该列逐行包含许多列表,例如,第一行包含['uml564','高血压疾病'],依此类推,另外一行具有此类列表,现在我希望删除这些列表的第一个索引从整个数据框中

2 个答案:

答案 0 :(得分:1)

********语法: 让我们考虑一个例子-*****

import pandas as pd

students = [ ('jack', 34, 'Sydeny' ,['abc', 'def','pk']) ,
             ('Riti', 30, 'Delhi' , ['India','kk']) ,
             ('Vikas', 31, 'Mumbai' , ['India','sk','uu'] ) ,
             ('Neelu', 32, 'Bangalore' ,[ 'India','kk','ok'] ) ,
             ('John', 16, 'New York' , ['US','jj']),
             ('Mike', 17, 'las vegas' , ['US','ii'])  ]


#Create a DataFrame object
dfObj = pd.DataFrame(students, columns = ['Name' , 'Age', 'City' , 'Country'],
                     index=['a', 'b', 'c' , 'd' , 'e' , 'f'])

print(dfObj)

df=dfObj['Country'].apply(lambda x: x[1:])

dfObj1= dfObj.drop(['Country'], axis=1)

df_row_merged = pd.concat([dfObj1, df],  axis=1)

答案 1 :(得分:0)

IIUC,您可以这样做:

df['your_column_name'].apply(lambda x: x[1])

,如果可行:

df['your_column_name'] = df['your_column_name'].apply(lambda x: x[1])

如果您有更高级的案例,请混合使用列表和没有列表的项目:

df['your_column_name'].apply(lambda x: x[1] if x== type(list) else x)