3 回答

TA贡献1793条经验 获得超6个赞
我只想加载包含以右括号 [ 开头的值的列
为此,您需要 series.str.startswith():
df.loc[:,df.apply(lambda x: x.str.startswith('[')).any()]
col2 col4
0 b [d
1 [f h
2 j l
3 n [p
请注意,startswith 和contains 之间存在差异。文档是解释性的。

TA贡献2019条经验 获得超9个赞
您可以尝试以下操作:
>>> df = pd.DataFrame([[1, 2, 4], [4, 5, 6], [7, '[8', 9]])
>>> df = df.astype('str')
>>> df
0 1 2
0 1 2 4
1 4 5 6
2 7 [8 9
>>> df[df.columns[[df[i].str.contains('[', regex=False).any() for i in df.columns]]]
1
0 2
1 5
2 [8
>>>

TA贡献1860条经验 获得超9个赞
请试试这个,希望这对你有用
df = pd.DataFrame([['a', 'b', 'c','[d'], ['e','[f','g','h'],['i','j','k','l'],['m','n','o','[p']],columns=['col1','col2','col3','col4'])
cols = []
for col in df.columns:
if df[col].str.contains('[',regex=False).any() == True:
cols.append(col)
df[cols]
输出
col2 col4
0 b [d
1 [f h
2 j l
3 n [p
添加回答
举报