Pietro Sonza
Pietro Sonza

Reputation: 79

How to get the elements out of a set in pandas dataframe?

I have a very large dataframe whose column values are all sets, set(). Like for example:

index    val1         val2
    1    {reg, sgs}   {dsggs, sgsg}
    2    {34, gsg}    {sdg, 23}

I want to get only their elements or values. What is the easiest way of doing it?

  index    val1       val2
      1    reg, sgs   dsggs, sgsg
      2    34, gsg    sdg, 23

Thanks

Upvotes: 1

Views: 795

Answers (1)

mCoding
mCoding

Reputation: 4839

Use df.applymap to apply a function to every value in every column.

import pandas as pd


def main():
    df = pd.DataFrame(data={
        'val1': [{'reg', 'sgs'}, {34, 'gsg'}],
        'val2': [{'dsggs', 'sgsg'}, {'sdg', 23}],
    })
    print(df.applymap(lambda s: ", ".join(map(str, s))))


if __name__ == '__main__':
    main()

Output:

       val1         val2
0  reg, sgs  dsggs, sgsg
1   gsg, 34      sdg, 23

Upvotes: 1

Related Questions