私はこのようなデータセットを持っています
日付---------- F / R ------ S / R
2018年9月22日--- 72 -------- 00
2018年9月21日----- 22 --------- 17
今私がやろうとしているのは、その日付を「9」の場合は「9月」、「22」の場合は「土曜日」のようにテキスト形式に置き換えたいということです。最初に、このコードで月を数値からテキストに変更しようとしましたが、失敗しました
import pandas as pd
# Importing the dataset
dataset = pd.read_csv('teer1_new1.csv')
def f(x):
if (x['Date']):
if (x[0:1] == '9/'):
return 'September'
else:
return 'none'
dataset['Date'] = dataset.apply(f, axis=1)
このエラーが発生します
ValueError: ('The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().', 'occurred at index 0')
そして、ええ、私のデータフレームの日付列にはたくさんの行があります。
あなたは、最初の日付時刻に日付を変換する必要が-パラメータによってparse_dates
中read_csv
またはpandas.to_datetime
、最後に使用Series.dt.month_name
してSeries.dt.day_name
:
df = pd.read_csv('teer1_new1.csv', parse_dates=['Date'])
#alternative
#df['Date'] = pd.to_datetime(df['Date'], format='%m/%d/%Y')
df['Date1'] = df['Date'].dt.day_name()
df['Date2'] = df['Date'].dt.month_name()
print (df)
Date F/R S/R Date1 Date2
0 2018-09-22 72 0 Saturday September
1 2018-09-21 22 17 Friday September
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加