Existing deraining methods mainly focus on a single input image. With just a single input image, it is extremely difficult to accurately detect rain streaks, remove rain streaks, and restore rain-free images. Compared with a single 2D image, a light field image (LFI) embeds abundant 3D structure and texture information of the target scene by recording the direction and position of each incident ray via a plenoptic camera, which has emerged as a popular device in the computer vision and graphics research communities. In this paper, we propose a novel network, 4D-MGP-SRRNet, for rain streak removal from an LFI. Our method takes as input all sub-views of a rainy LFI. In order to make full use of the LFI, we adopt 4D convolutional layers to build the proposed rain steak removal network to simultaneously process all sub-views of the LFI. In the proposed network, the rain detection model, MGPDNet, with a novel Multi-scale Self-guided Gaussian Process (MSGP) module is proposed to detect rain streaks from all sub-views of the input LFI. Semi-supervised learning is introduced to accurately detect rain streaks by training on both virtual-world rainy LFIs and real-world rainy LFIs at multiple scales via calculating pseudo ground truth for real-world rain streaks. All sub-views subtracting the predicted rain streaks are then fed into a 4D residual model to estimate depth maps. Finally, all sub-views concatenated with the corresponding rain streaks and fog maps converted from the estimated depth maps are fed into a rainy LFI restoring model that is based on the adversarial recurrent neural network to progressively eliminate rain streaks and recover the rain-free LFI. Extensive quantitative and qualitative evaluations conducted on both synthetic LFIs and real-world LFIs demonstrate the effectiveness of our proposed method.