使用熊猫慢速循环

时间:2017-12-02 10:07:14

标签: performance pandas loops

我试图用前一行的值替换一系列中的每个nan值。数据如下:

16.5

的NaN

16.5

的NaN

的NaN

16

的NaN

这是我的代码:

import pandas as pd
import numpy as np

df=pd.read_csv('test.csv')
AskPrice=df.AskPrice
for i, line in enumerate(AskPrice):
if np.isnan(line):
    AskPrice[i]=AskPrice[i-1]
print(AskPrice)

我希望它是:

16.5

16.5

16.5

16.5

16.5

16

16

我得到了结果,但完成任务需要很长时间。有更快的方法吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

怎么样?
JFrame gui = new JFrame("Button on bottom.");

JPanel panel = new JPanel(new BorderLayout());

JTextField textfield = new JTextField();
textfield.setText("Australia");

JTextArea textarea = new JTextArea();
textarea.setText("Australia, -27, 133. AUD");

JButton button = new JButton("Button on bottom.");
button.setFont(new java.awt.Font("Dialog", 0, 15));
button.setBorderPainted(false);
button.setFocusable(false);
button.setForeground(new java.awt.Color(255, 255, 255));
button.setBackground(new java.awt.Color(0, 140, 255));

panel.add(textfield, BorderLayout.PAGE_START);
panel.add(textarea);
panel.add(button, BorderLayout.PAGE_END);

gui.setDefaultCloseOperation(gui.EXIT_ON_CLOSE);
gui.setSize(300, 300);
gui.setLocationRelativeTo(null);
gui.add(panel);
gui.setVisible(true);}}