我需要獲取具有特定列值的行作爲鍵 以下是我的熊貓df。使用特定的列值作爲key在熊貓數據框中搜索
>>> data
OrderID TimeStamp ErrorCode Duration ResponseType \
0 3000000 1488948188555841641 NaN IOC NaN
1 3000000 1488948188556444675 0 NaN NEW_ORDER_CONFIRM
2 3000000 1488948188556448153 2 NaN TRADE_CONFIRM
3 3000001 1488948658787676012 NaN IOC NaN
4 3000001 1488948658787811582 1 NaN NEW_ORDER_CONFIRM
5 3000001 1488948658787824862 2 NaN TRADE_CONFIRM
6 3000002 1488949064945887091 NaN IOC NaN
7 3000003 1488949109654115659 NaN IOC NaN
8 3000003 1488949109654294973 1 NaN NEW_ORDER_CONFIRM
9 3000003 1488949109654299930 16388 NaN CANCEL_ORDER_CONFIRM
,我需要選擇所有的orderID其中所述持續時間是IOC(很容易) 用作答案orders = data.loc[data.Duration == 'IOC', 'OrderID'].unique()
給藥,然後獲得這些行選擇的OrderID其中所述持續時間爲NaN。 OrderID將始終爲3或者只是一個ORDERID(對於其中沒有輸出或空行可以返回,例如OrderID 3000002)
棘手的部分是NEW_ORDER_CONFIRM中的Errorcode是正確的,而TRADE_CONFIRM中的Errorcode或CANCEL_ORDER_CONFIRM是錯誤的。我只想在最終的行輸出中使用這些正確的值。
EXPECTED O/P ROW 1
OrderID TimeStamp ErrorCode Duration ResponseType \
0 3000000 1488948188555841641 0 IOC TRADE_CONFIRM
我嘗試使用bash通過使用grep IOC loglife| cut -d, -f1 to get OrderID then grep each OrderID & NaN
。但我需要這將是更有效
謝謝你還可以告訴我如何將數據讀入數據框而不是寫入csv(http://stackoverflow.com/questions/42669216/create-csv-headers-from-log-file-python/42670850?noredirect = 1#comment72473336_42670850 question) – pythonRcpp
我嘗試測試接受soluti在你的文件'ideone_cny805.java'上,是否有正確的輸出?沒有寫入csv的解決方案是創建列表,並在循環中追加數據不是文件,而是列出。然後從輸出列表創建數據幀。 – jezrael
我更新了一下我的問題 – pythonRcpp