Manish Pal
Manish Pal

Reputation: 371

How to convert the value of columns in pandas Dataframe?

I have below data and when I try to make operations on it, it giving me error.

import pandas as pd
df = 
      AsOfDate           BaseMV   BloombergIdentifier   CCY    Strategy  StrategyId   SubStrategy  Ticker Price
0   2019-03-27    513000.000000   BBG0059JSF49 Equity   USD    L/S_EQTY          95  EQ1.IND_TRAN    CNHI    21
1   2019-03-27        22.500000          BBG000BB7JQ5   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    78
2   2019-03-27        15.000000          BBG000HXFJR1   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    56
3   2019-03-27        55.000000             Q9235V101   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    87
4   2019-03-27        36.000000          BBG000FLHZZ2   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    94
5   2019-03-27        36.000000          BBG001J1CYH8   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    15
6   2019-03-27        75.000000          BBG001J1CY88   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    90

df2=pd.Dataframe(df)

df2.iat[0,0]

Error:
  File "<ipython-input-22-8ee11ff71fcf>", line 2
    df =
         ^
SyntaxError: invalid syntax

How to covert df data into Pandas Dataframe and make operations on that?

Upvotes: 0

Views: 52

Answers (1)

U13-Forward
U13-Forward

Reputation: 71620

Not that easy, you need a io.StringIO and pd.read_csv:

from io import StringIO
import pandas as pd
data = StringIO('''      AsOfDate           BaseMV   BloombergIdentifier   CCY    Strategy  StrategyId   SubStrategy  Ticker Price
0   2019-03-27    513000.000000   BBG0059JSF49 Equity   USD    L/S_EQTY          95  EQ1.IND_TRAN    CNHI    21
1   2019-03-27        22.500000          BBG000BB7JQ5   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    78
2   2019-03-27        15.000000          BBG000HXFJR1   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    56
3   2019-03-27        55.000000             Q9235V101   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    87
4   2019-03-27        36.000000          BBG000FLHZZ2   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    94
5   2019-03-27        36.000000          BBG001J1CYH8   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    15
6   2019-03-27        75.000000          BBG001J1CY88   USD    L/S_EQTY          95  EQ1.IND_TRAN    None    90
''')
df = pd.read_csv(data, sep='\s\s+', engine='python')

Or just copy it into your clipboard and do:

df = pd.read_clipboard(sep='\s\s+', engine='python')

Upvotes: 4

Related Questions