如何从类似字符串的列访问值?

问题描述 投票:0回答:1

我有一个名为intervals的熊猫数据框>

                 num
40  (321.469, 326.854]
41  (326.854, 332.238]
...
68  (472.232, 477.616]
69  (477.616, 483.001]

我想输入将提取值321.469483.001并将其存储到变量中的代码。

它看起来像是间隔类型,但不是,因为它是从excel上传的。

具有实际间隔的初始df为:

In [1]: df_count
Out[1]:     
                       364
                  364   
    (111.479, 116.863]  1
    (116.863, 122.247]  0
    (122.247, 127.632]  1
    (127.632, 133.016]  3
    (133.016, 138.4]    0
    ... ...
    (1436.036, 1441.42] 1
    (1441.42, 1446.805] 0
    (1446.805, 1452.189]1
    (1452.189, 1457.573]0
    (1457.573, 1462.958]1
    251 rows × 1 columns

此df是我过去的question.得出的,我绝对不知道如何通过最多的观察获得30个间隔。我不知道为什么这些列具有相同的名称,并且当我尝试重命名364时,只重命名了大写364,但是没有间隔列名称,因此我无法访问它们。所以我这样做是:

df_count.to_excel('ranges.xlsx')
colnames=['num', 'ranges', 'itr'] 
new_df = pd.read_excel(r'ranges.xlsx', names=colnames, header=None)
new_df_sort = new_df.sort_values(by=['ranges'])
top_intervals = new_df_sort.tail(30)
new_intervals = top_intervals.sort_values(by=['num'])
intervals = pd.DataFrame(new_intervals['num'])

因此,得到我的intervals数据框提到的耳环。因此,也许还有另一种方法可以提取大约30个范围,然后从该间隔中获取最小值和最大值。

任何人都可以帮忙吗?

  • 我正在与Monte-Carlo仿真一起预测未来的库存价格,这就是为什么我需要这个间隔。如果您感兴趣,将很高兴分享结果。
  • 谢谢!

我有一个名为interval num 40(321.469,326.854] 41(326.854,332.238] ... 68(472.232,477.616] 69(477.616,483.001]的熊猫数据帧,我想输入将提取一个...的代码。] >

python pandas intervals
1个回答
0
投票
intervals['num'] = intervals['num'].astype('str')

intervals['first_num'] = None
intervals['second_num'] = None

for i in range(len(intevals)):
    intervals.loc[i, 'first_num'] = ''.join(list(intervals.loc[i, 'num'].str.split(',')[0])[1:])
    intervals.loc[i, 'second_num'] = ''.join(list(intervals.loc[i, 'num'].str.split(',')[1])[:-1])

© www.soinside.com 2019 - 2024. All rights reserved.