我有一个名为的 pandas DataFrametimedata
具有不同的列名称,其中一些包含振动一词,一些包含偏心率。是否可以创建仅包含“振动”一词的列的数据框?
我尝试过使用
vib=[]
for i in timedata:
if 'Vibration' in i:
vib=vib.append(i)
然后根据这些列的索引创建一个 DataFrame。这看起来确实不是最有效的方法,而且我确信列表理解一定有一些简单的方法。
EDIT
数据框形式:
df = DataFrame({'Ch 1:Load': randn(10), 'Ch 2:Vibration Brg 1T ': randn(10), 'Ch 3:Eccentricity Brg 1H ': randn(10), 'Ch 4:Vibration Brg 2T ': randn(10)})
对不起,我今天过得很慢!谢谢你的帮助
像这样手动选择所有带有“Vibration”一词的列:
df[[col for col in df.columns if "Vibration" in col]]
您也可以对filter
method:
df.filter(like="Vibration")
如果你想做更灵活的过滤器,你可以使用regex
选项。例如。查看列名称中是否包含“Vibration”或“Ecc”:
df.filter(regex='Ecc|Vibration')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)