我正在尝试根据Q向量的模量对数据进行分箱,然后将沿mod(Q)轴落在分箱内的所有强度相加。然后,我试图绘制装箱强度的散点图,其中沿mod(Q)轴的位置为箱的中心。
我已经从外部文件中提取了数据,并将其放入了pandas数据框。然后,我在此熊猫数据框中添加了另一列,以给出mod(Q)的值。
接下来,我为数据创建了垃圾箱。这些垃圾箱是使用熊猫的“ cut”创建的。然后,我用箱和落入这些箱中的强度总和制作了一个分组的熊猫数据框。但是,我正在努力使用此分组的熊猫数据框来生成散点图。
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from matplotlib import style
raw_data_file_path = '../Raw_Data_Files/Original_Files/constantEcutsModified'
df = pd.read_csv(raw_data_file_path, sep=',', header=None, names=['Q_1', 'Q_2', 'intensity', 'uncertainty'])
df['mod_Q'] = np.sqrt(df['Q_1']**2 + df['Q_2']**2)
bins = pd.cut(df['mod_Q'], 100)
grouped_df = df.groupby(bins)['intensity'].agg('sum')
这是我从打印出grouped_df的前15行得到的:
mod_Q
(-0.014, 0.14] 0.0000
(0.14, 0.28] 0.0000
(0.28, 0.421] 0.0000
(0.421, 0.561] 0.0000
(0.561, 0.701] 0.0000
(0.701, 0.841] 0.0000
(0.841, 0.982] 0.0000
(0.982, 1.122] 6979.8172
(1.122, 1.262] 9873.2400
(1.262, 1.402] 17253.2000
(1.402, 1.543] 22006.3200
(1.543, 1.683] 24311.7400
(1.683, 1.823] 28123.0800
(1.823, 1.963] 29002.4300
(1.963, 2.104] 34473.0770
Name: intensity, dtype: float64