Options

How to index and find common elements in the list ?

HarshavHarshav Member Posts: 33 Contributor I
I found that if a cell in an attribute has list of elements .We can index only one element using [] .But what if we want to index all the elements like [0:] in python. 
Finally, I want to find out common elements of two attributes in which all rows contain list data .

Answers

  • Options
    ceaperezceaperez Member Posts: 522 Unicorn
    Hi @Harshav

    please check the Select operator:
    Select - RapidMiner Documentation

    Also you can work with Python using  the Execute Python operator. 
    please find attached a example process for that.

    Best
  • Options
    HarshavHarshav Member Posts: 33 Contributor I
    There is no code policy in my project and I see I cant loop list like data of each cell something like this  [1,2,3,45,6] 
  • Options
    BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 955 Unicorn
    Hi @Harshav,

    there is a Split operator that you can use to split up the contents of an attribute on the specified separator character.

    Usually you would then use De-Pivot to convert the newly created columns (attribute_1, attribute_2 etc.) to rows and process them with Aggregate (to get the most frequent values etc.).

    Regards,
    Balázs
  • Options
    MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,510 RM Data Scientist
    Hi Harshav,

    I am a bit confused here. Also pd.Dataframe does not allow a list in a cell. So the python equavalent does not really hold here. As mentioned, the split operator is of course the usual way to go here.

    Best,
    Martin
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • Options
    HarshavHarshav Member Posts: 33 Contributor I
    Split operator gives you the result in that form ,but here I have compare two split values that are in this form["..."]
  • Options
    BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 955 Unicorn
    I don't understand your question.
    Can you write examples of the data you have to process?

    Are the brackets there before the split? 
    [val1,val2,val3]
    Then use Replace to remove the brackets with a regular expression.

    Regards,
    Balázs
  • Options
    HarshavHarshav Member Posts: 33 Contributor I
    Okay...If we remove[] using reg exp , How do we compare val1,val2,val3 with another attribute which contains val2,val4,val5.?I want this val2 element to pop up.
  • Options
    BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 955 Unicorn
    If you de-pivot the data, your val1, val2, ... val5 will be simple values in rows. You can then use Join on a key field and the value to get the common elements.
Sign In or Register to comment.