[Tutor] Extract element of dtype object
Stephen P. Molnar
s.molnar at sbcglobal.net
Sun Dec 6 12:31:02 EST 2020
On 12/06/2020 11:28 AM, Mats Wichmann wrote:
> On 12/6/20 6:37 AM, Stephen P. Molnar wrote:
>> I have a large number of files from which I wish to extract a number.
>
> Your succession of examples is not leaving me, at least, with any
> clarity of what you're actually looking for. You need to define for
> yourself a description in words, then you can probably begin to code
> it up. Youi include "and the code snippet" but there is no code
> snippet...
>
> see below
>
>>
>> This is an example or a portion of the file:
>>
>> mode | affinity | dist from best mode
>> | (kcal/mol) | rmsd l.b.| rmsd u.b.
>> -----+------------+----------+----------
>> 1 -8.538750714 0.000 0.000
>> 2 -8.487003690 3.712 7.079
>> 3 -8.420436250 3.018 6.604
>> 4 -7.992952187 3.711 7.282
>> 5 -7.933139639 2.128 6.739
>> 6 -7.889517329 2.667 6.537
>> 7 -7.720785374 20.143 23.808
>> 8 -7.629772565 21.218 25.083
>> 9 -7.560349273 2.136 7.865
>> Writing output ... done.
>>
>> and the code snippet:
>>
>> Refining results ... done.
>>
>> 0 mode | affinity | dist from best mode
>>
>> 1 | (kcal/mol) | rmsd l.b.| rmsd u.b.
>>
>> 2 -----+------------+----------+----------
>>
>> 3 1 -8.538750714 0.000 0.000
>>
>> 4 2 -8.487003690 3.712 7.079
>>
>> the output:
>>
>> Refining results ... done. 1 -8.538750714 0.000 0.000
>>
>>
>> Refining results ... done.
>> 0 mode | affinity | dist from best mode
>> 1 | (kcal/mol) | rmsd l.b.| rmsd u.b.
>> 2 -----+------------+----------+----------
>> 3 1 0.000 0.000
>> 4 2 -8.487003690 3.712 7.079
>> Refining results ... done. 1 -8.538750714 0.000 0.000
>> Name: 3, dtype: object
>>
>> The number that I want to extract is -8.538750714.
>
> If you're collecting lines from running an external script, you can
> run that script with subprocess.run and then look through the
> resulting output until you find a line that matches some recognizable
> pattern. That pattern seems to be "Refining results ... done." but it
> appears so many times in the above it's hard to sort out what's what.
> If that's the case you can then trim that line either with plain
> string handling routines or with a regular expression (regexes get a
> bad reputation, they're good for handling text with recognizable
> patterns, but may be overkill for this case)
>
> Will wait for some clarification before digging further...
>
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
Oh oh. Here is the code:
import pandas as pd
df = pd.read_table('test.log')
df = df.dropna(axis=1)
print(df.head())
x = (df.iloc[3])
print(x)
from the origional post
This is an example or a portion of the file:
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 -8.538750714 0.000 0.000
^^^^^^^^^
| | | | | | | | |
this is the number I want to extract.
--
Stephen P. Molnar, Ph.D.
www.molecular-modeling.net
614.312.7528 (c)
Skype: smolnar1
More information about the Tutor
mailing list