試したこと
df1.columns = ['power']
を実行して「Length mismatch」のエラーにならないのであれば,df1
は 5行 1列(要素は文字列)の可能性もありそうです。その場合の記述例を下記に示します。
(追記)
date
と time
を分離しない記述例も追記しました。
Python
1import pandas as pd
2
3df1 = pd.DataFrame([['2021/4/1 0:30 23378.23'],
4 ['2021/4/1 1:00 23026.09'],
5 ['2021/4/1 1:30 23407.5'],
6 ['2021/4/1 2:00 24098.03'],
7 ['2021/4/1 2:30 25420.65']])
8
9df2 = df1[0].str.split(expand=True)
10df2.columns = ['date', 'time', 'power']
11df2['power'] = df2['power'].astype(float).round()
12
13print(df2)
14# date time power
15# 0 2021/4/1 0:30 23378.0
16# 1 2021/4/1 1:00 23026.0
17# 2 2021/4/1 1:30 23408.0
18# 3 2021/4/1 2:00 24098.0
19# 4 2021/4/1 2:30 25421.0
20
21df3 = df1[0].str.rsplit(n=1, expand=True)
22df3.columns = ['date_time', 'power']
23df3['power'] = df3['power'].astype(float).round()
24
25print(df3)
26# date_time power
27# 0 2021/4/1 0:30 23378.0
28# 1 2021/4/1 1:00 23026.0
29# 2 2021/4/1 1:30 23408.0
30# 3 2021/4/1 2:00 24098.0
31# 4 2021/4/1 2:30 25421.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。