2024-10-01 19:20:48 发布
网友
我有一个数据框,如下所示:
ID Sr. No Col_1 None Col_2 1 10 Abc None XUZ_09 2 20 Xyz None Abc_227
我想丢弃None字段之后的所有内容,即Col_1之后的内容。 一种方法如下:
None
Col_1
df_final = df_final.iloc[:,:-3]
但是我想使-3动态化。因此,生成的数据帧将是
-3
ID Sr. No Col_1 1 10 Abc 2 20 Xyz
请问有什么线索吗
如果列名是类似None的NoneType或类似None的字符串,则在第一次通过比较0匹配值之前,使用解决方案对其进行比较,并使用比较值对^{}进行比较,最后通过:对^{a2进行传递,以便通过掩码获取所有行和列:
NoneType
0
:
d = { 'ID': [1,2,34], 'Sr. No': [13,23,343], 'Col_1': [1,23,4345], 'None': [None, None, None] } df = pd.DataFrame(d) mask = (df.columns.isna() | (df.columns == 'None')).cumsum() == 0 df1 = df.loc[:, mask] print (df1) ID Sr. No Col_1 0 1 13 1 1 2 23 23 2 34 343 4345
d = { 'ID': [1,2,34], 'Sr. No': [13,23,343], 'Col_1': [1,23,4345], None: [None, None, None] } df = pd.DataFrame(d) mask = (df.columns.isna() | (df.columns == 'None')).cumsum() == 0 df1 = df.loc[:, mask] print (df1) ID Sr. No Col_1 0 1 13 1 1 2 23 23 2 34 343 4345
d = { 'ID': [1,2,34], 'Sr. No': [13,23,343], 'Col_1': [1,23,4345], 'col_z': [None, None, None] } df = pd.DataFrame(d) mask = (df.columns.isna() | (df.columns == 'None')).cumsum() == 0 df1 = df.loc[:, mask] print (df1) ID Sr. No Col_1 col_z 0 1 13 1 None 1 2 23 23 None 2 34 343 4345 None
编辑:
d = { 'ID': [1,2,34], 'Sr. No': [13,23,343], 'Col_1': [1,23,4345] } df = pd.DataFrame(d, index=[1,None,5]) mask = (df.index.isna() | (df.index== 'None')).cumsum() == 0 df1 = df.loc[mask] print (df1) ID Sr. No Col_1 1 1 13 1
或按列名称取:
df = df.iloc[:, :(df.columns == 'None').argmax()]
d = { 'ID': [1,2,34], 'Sr. No': [13,23,343], 'Col_1': [1,23,4345], 'None': [None, None, None], 'Col_3': [None, None, None] } df = pd.DataFrame(d)
df ID Sr. No Col_1 None Col_3 0 1 13 1 None None 1 2 23 23 None None 2 34 343 4345 None None
columns = df.columns.to_list() split_index = columns.index('None') df = df[columns[:-split_index + 1]]
df ID Sr. No Col_1 0 1 13 1 1 2 23 23 2 34 343 4345 ``
如果列名是类似} 进行比较,最后通过
None
的NoneType
或类似None
的字符串,则在第一次通过比较0
匹配值之前,使用解决方案对其进行比较,并使用比较值对^{:
对^{a2进行传递,以便通过掩码获取所有行和列:编辑:
或按列名称取:
创建数据帧
使用“无”列拆分数据帧
结果
相关问题 更多 >
编程相关推荐