распределение чисел в 2 столбца. Pandas
Есть csv файл с числами разделенные "," и все эти числа находтся в одном столбце. Для удобства дальнейшей работы хочу разделить на 2 отдельных столбца. Но никак не могу понять как это делать. Для string это просто, нужно использовать механизм .str.split(','), но что делать, если все значения числа?
Уже пробовал перевести все числа в string и по известной схеме, но по-моему есть вариант получше.
Пример данных:
"Time, seconds","Series values, dB"
0,-117
0.0001,46
0.0002,-478
0.000300001,2
0.000400001,4
0.000500001,-218
0.000600001,-322
Уже много чего перепробовал. Можете помочь?
Ответы (2 шт):
Если используете pandas, то можно так:
import pandas as pd
d=pd.read_csv('d.csv',header=None, decimal=',', dtype={'0': float})
d.columns = ['Time, seconds', 'Series values, dB']
print(d)
Time, seconds Series values, dB
0 0 -117
1 0.0001 46
2 0.0002 -478
3 0.000300001 2
4 0.000400001 4
5 0.000500001 -218
6 0.000600001 -322
Просто укажите правильный разделитель столбцов sep=',', дальше Pandas разберётся:
import pandas as pd
from io import StringIO
data = StringIO("""
"Time, seconds","Series values, dB"
0,-117
0.0001,46
0.0002,-478
0.000300001,2
0.000400001,4
0.000500001,-218
0.000600001,-322""")
df = pd.read_csv(data, sep=',')
print(df)
Вывод:
Time, seconds Series values, dB
0 0.0000 -117
1 0.0001 46
2 0.0002 -478
3 0.0003 2
4 0.0004 4
5 0.0005 -218
6 0.0006 -322