我在csv文件中讀取日期時間列,其中包含非日期時間文本的隨機散佈塊(一次5個行,有時是一行中的多個塊)。參閱下面的剪斷的數據文件的一個例子:熊貓非索引過濾器的索引過濾器
日期,時間,次數,故障,電池 22分之12/ 2015,05:24.0,39615.0,0.0,6.42 22分之12/ 2015,05:25.0 ,39616.0,0.0,6.42 12/22/2015,05:26.0,39617.0,0.0,6.42 12/22/2015,05:27.0,39618.0,0.0,6.42 ,,,, Sonde STSO3275 ,,,, RMR ,,,, 默認站點,,,, X2CMBasicOpticsBurst ,,,, ,,,, 探空STSO3275 ,,,, RMR ,,,, 默認站點,,,, X2CMBasicOpticsBurst ,,,, 12/22/2015,19:57.0,39619。 0,0.0,6.42 12/22/2015,19:58.0,39620.0,0.0,6.42 12/22/2015,19:59.0,39621.0,0.0,6.42 12/22/2015,20:00.0,39622.0, 0.0,6.42 22分之12/ 2015,20:01.0,39623.0,0.0,6.42 22分之12/ 2015,20:02.0,39624.0,0.0,6.42
我可以讀取從剪貼板並進入數據據幀如下:
df = pd.read_clipboard(sep=',')
我正在尋找一種方式來清理非日期格式的字符串的「日期」列轉換爲datetime指標之前。我曾嘗試列轉換爲索引,然後到列表和過濾這樣的:
df.index=df['Date']
df = df[~df.index.get_loc('RMR')]
df = df[~df.index.get_loc('Default Site')]
df = df[~df.index.get_loc('X2CMBasicOpticsBurst')]
df = df[~df.index.get_loc('Sonde STSO3275')]
df = df.dropna()
然後我可以解析日期和時間在一起,並使用最新解析工具得到適當的日期時間指數。 但是,文本字段的內容可能會更改,並且此方法看起來非常有限且非pythonic。
因此,我正在尋找一種更好,更靈活和動態的方法來自動跳過索引中的這些非日期字段,希望無需知道其內容的詳細信息(例如,當空白時跳過4行塊行遇到)。
在此先感謝。