ребята, мне нужно немного помочь с Пандами и буду очень признателен за ваш вклад.
Мой оригинальный файл выглядит так:
![Original file look](https://i.stack.imgur.com/BW0Yk.png)
Я хотел бы преобразовать его, объединив несколько пар столбцов (сгенерировав их средние значения) и вернув новый файл, похожий на этот:
![The way I want it to look like](https://i.stack.imgur.com/MGEVb.png)
Также, если возможно, я бы также хотел разделить столбец RateDateTime на два столбца, один из которых содержит дату, а другой - только время. Как я должен это делать? Я попытался написать код, как показано ниже, но он не работает:
import pandas as pd
dateparse = lambda x: pd.datetime.strptime(x, '%Y/%m/%d %H:%M:%S')
df = pd.read_csv('data.csv', parse_dates=['RateDateTime'], index_col='RateDateTime',date_parser=dateparse)
a=pd.to_numeric(df['RateAsk_open'])
b=pd.to_numeric(df['RateAsk_high'])
c=pd.to_numeric(df['RateAsk_low'])
d=pd.to_numeric(df['RateAsk_close'])
e=pd.to_numeric(df['RateBid_open'])
f=pd.to_numeric(df['RateBid_high'])
g=pd.to_numeric(df['RateBid_low'])
h=pd.to_numeric(df['RateBid_close'])
df['Open'] = (a+e) /2
df['High'] = (b+f) /2
df['Low'] = (c+g) /2
df['Close'] = (d+h) /2
grouped = df.groupby('CurrencyPair')
Open=grouped['Open']
High=grouped['High']
Low=grouped['Low']
Close=grouped['Close']
w=pd.concat([Open, High,Low,Close], axis=1, keys=['Open', 'High','Low','Close'])
w.to_csv('w.csv')
Python возвращает:
TypeError: cannot concatenate object of type "<class 'pandas.core.groupby.groupby.SeriesGroupBy'>"; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
Может кто-нибудь помочь мне, пожалуйста? Большое спасибо !!!