a['Year'] = a['Date'].dt.year 创建一个额外的 .0



我从Date中提取年份,并将其作为新列添加到Dataframe中。我需要它像2001年,但它是2001.0
。0是从哪里来的?

这是输出:

Datum  LebensverbrauchMIN  ...  Lastfaktor    Jahr
0        2001-01-01 00:00:00            0.001986  ...    0.249508  2001.0
1        2001-01-01 00:01:00            0.000839  ...    0.249847  2001.0
2        2001-01-01 00:02:00            0.000387  ...    0.250186  2001.0

# Read in Data
InnenTemp = ["LebensverbrauchMIN","HPT", "Innentemperatur", "Verlustleistung", "SolarEintrag", "Lastfaktor"]
Klima1min = pd.read_csv("Klima_keinPV11.csv", names=InnenTemp,
skiprows=0)
Datum = pd.read_csv("Klima_Lufttemp_GLobalstrahlung_Interpoliert_1min.csv", usecols=["Datum"],
skiprows=0)
Luft = pd.read_csv("Klima_Lufttemp_GLobalstrahlung_Interpoliert_1min.csv", usecols=["Lufttemperatur"],
skiprows=0)

frames = [Datum, Klima1min]
a = pd.concat(frames, axis=1)
a['Datum'] = pd.to_datetime(a['Datum'], format="%Y-%m-%dT%H:%M:%S")
a.set_index('Datum')
# Extract Year from Date(tried both lines)
a['Jahr'] = pd.DatetimeIndex(a['Datum']).year
#a['Jahr'] = a['Datum'].dt.year
print(a)

如果dataframe列中存在缺失值,则将其视为float数据类型。这只发生在int,对于string它保持不变。