Загрузка CSV с pandas, неправильные столбцы - PullRequest
0 голосов
/ 30 марта 2020

Я загрузил CSV в DataFrame с pandas.

Формат следующий:

Timestamp | 1014.temperature | 1014.humidity | 1015.temperature | 1015.humidity ....
-------------------------------------------------------------------------------------
2017-...  | 23.12            | 12.2          |  25.10           | 10.34         .....

Проблема в том, что числа «1014» или «1015» должны быть идентификаторы, которые должны быть в специальном столбце.

Я хотел бы получить следующий формат для моего DF:

TimeStamp | ID       | Temperature | Humidity
-----------------------------------------------
.         |          |             |
.
.
.

CSV разделен табуляцией.

Заранее спасибо, ребята!

1 Ответ

0 голосов
/ 30 марта 2020
import pandas as pd
from io import StringIO
# create sample data frame
s = """Timestamp|1014.temperature|1014.humidity|1015.temperature|1015.humidity
2017|23.12|12.2|25.10|10.34"""

df = pd.read_csv(StringIO(s), sep='|')
df = df.set_index('Timestamp')

# split columns on '.' with list comprehension
l = [col.split('.') for col in df.columns]
# create multi index columns
df.columns = pd.MultiIndex.from_tuples(l)
# stack column level 0, reset the index and rename level_1
final = df.stack(0).reset_index().rename(columns={'level_1': 'ID'})

   Timestamp    ID  humidity  temperature
0       2017  1014     12.20        23.12
1       2017  1015     10.34        25.10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...