は、私はあなたがdates
列to_datetime
、sort_values
とをキャストが必要だと思う必要dates
使用date
場合:
df.columns = df.columns[:3].tolist() +
(pd.to_datetime(df.columns[3:], format='%Y.%m.%d')).sort_values().date.tolist()
サンプル:
cols = [u'Instructor Name', u'Product Name', u'Product Url', u' 2016.12.03', u' 2016.12.05',
u' 2016.12.01', u' 2016.12.12', u' 2016.12.16', u' 2016.12.15', u' 2016.12.13',
u' 2016.12.10', u' 2016.12.06', u'2016.12.14',u'2016.12.08', u' 2016.12.07',
u' 2016.12.18', u' 2016.12.11', u' 2016.12.04', u'2016.12.09',
u' 2016.12.02', u' 2016.12.17']
df = pd.DataFrame(columns=cols)
print (df)
Empty DataFrame
Columns: [Instructor Name, Product Name, Product Url,
2016.12.03, 2016.12.05, 2016.12.01, 2016.12.12, 2016.12.16, 2016.12.15,
2016.12.13, 2016.12.10, 2016.12.06, 2016.12.14, 2016.12.08, 2016.12.07,
2016.12.18, 2016.12.11, 2016.12.04, 2016.12.09, 2016.12.02, 2016.12.17]
Index: []
[0 rows x 21 columns]
df.columns = df.columns[:3].tolist() +
(pd.to_datetime(df.columns[3:], format='%Y.%m.%d')).sort_values().date.tolist()
print (df)
Empty DataFrame
Columns: [Instructor Name, Product Name, Product Url,
2016-12-01, 2016-12-02, 2016-12-03, 2016-12-04, 2016-12-05, 2016-12-06,
2016-12-07, 2016-12-08, 2016-12-09, 2016-12-10, 2016-12-11, 2016-12-12,
2016-12-13, 2016-12-14, 2016-12-15, 2016-12-16, 2016-12-17, 2016-12-18]
Index: []
[0 rows x 21 columns]
そして
必要同じ形式で追加した場合
strftime
:
df.columns = df.columns[:3].tolist() +
(pd.to_datetime(df.columns[3:], format='%Y.%m.%d')).sort_values().strftime('%Y.%m.%d').tolist()
print (df)
Empty DataFrame
Columns: [Instructor Name, Product Name, Product Url,
2016.12.01, 2016.12.02, 2016.12.03, 2016.12.04, 2016.12.05, 2016.12.06,
2016.12.07, 2016.12.08, 2016.12.09, 2016.12.10, 2016.12.11, 2016.12.12,
2016.12.13, 2016.12.14, 2016.12.15, 2016.12.16, 2016.12.17, 2016.12.18]
Index: []
[0 rows x 21 columns]
何を試しましたか? –
また、なぜ列名として日付が表示されるのでしょうか?ハッシュはどこから来たのですか? –