如何转换pandas Dataframe中的列的值?

时间:2019-06-28 07:15:56

标签: python pandas

我有以下数据,当我尝试对其进行操作时,它给我错误。

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

如何将df数据隐藏到Pandas Dataframe中并对其进行操作?

1 个答案:

答案 0 :(得分:4)

并不是那么容易,您需要一个io.StringIOpd.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')

或者将其复制到剪贴板中并执行以下操作:

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