【发布时间】:2020-06-25 19:02:28
【问题描述】:
这个问题可能是超级基本的,并为此道歉..
但我正在尝试创建一个 for 循环,该循环将根据条件将值 1 或 0 输入到 pandas 数据帧中。
import pandas as pd
def checkHour6(time):
val = 0
if time == 6:
val = 1
return val
def checkHour7(time):
val = 0
if time == 7:
val = 1
return val
def checkHour8(time):
val = 0
if time == 8:
val = 1
return val
def checkHour9(time):
val = 0
if time == 9:
val = 1
return val
def checkHour10(time):
val = 0
if time == 10:
val = 1
return val
我正在尝试的这个 for 循环将从 0 计数到 23,并且我正在尝试在循环过程中构建 pandas 数据框,该数据框将适当地输入 1 或 0 的值,但我缺少一些基本的东西作为最终的 df结果是一个空数据框。
创建空的df:
df = pd.DataFrame({'hour_6':[], 'hour_7':[], 'hour_8':[], 'hour_9':[], 'hour_10':[]})
For循环:
hour = -1
for i in range(24):
stuff = []
hour = hour + 1
stuff.append(checkHour6(hour))
stuff.append(checkHour7(hour))
stuff.append(checkHour8(hour))
stuff.append(checkHour9(hour))
stuff.append(checkHour10(hour))
df.append(stuff)
【问题讨论】:
-
尽量不要对 pandas 使用循环,pandas 有办法做到这一点
-
为什么使用 0/1 而不是正确的布尔值?
-
我正在尝试创建一个用于机器学习过程的数据框。但也许布尔值也可以工作??