我想获得所有的数据行,在那里,如果任何云的长度小于2。
例如:
df = pd.DataFrame({"col1":["a","ab",""],"col2":["bc","abc", "a"]})
col1 col2
0 a bc
1 ab abc
2 a如何获得此输出:
col1 col2
0 a bc
2 a发布于 2020-10-18 07:20:12
让我们尝试使用stack重塑,然后使用str.len计算长度,并使用lt + any创建布尔掩码
df[df.stack().str.len().lt(2).any(level=0)] col1 col2
0 a bc
2 a发布于 2020-10-18 07:15:17
您可以使用熊猫系列的len()方法:
for col in df.columns:
df[col] = df[col][df[col].str.len() < 3]
df = df.dropna()发布于 2020-10-18 07:52:49
在这里,一份清单理解可能会有所帮助:
df.loc[[not any(len(word) > 2 for word in entry)
for entry in df.to_numpy()]
]
col1 col2
0 a bc
2 ahttps://stackoverflow.com/questions/64410609
复制相似问题