- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当一个数据帧中的日期时间对象位于另一个数据帧的日期时间对象范围内时,尝试合并两个数据帧。
在我发布的第二 block 代码中继续获取:KeyError: 'cannot use a single bool to index into setitem'。
gametaxidf.loc[arrivemask, 'relevant'] = 1
我假设它也会在下面的行中使用类似的命令发生。
这是给我带来麻烦的部分:
with open('/Users/benjaminprice/Desktop/TaxiCombined/Data/combinedtaxifiltered.csv', 'w') as csvfile:
fieldnames1 = ['index','pickup_datetime', 'dropoff_datetime', 'pickup_long', 'pickup_lat','dropoff_long','dropoff_lat','passenger_count','trip_distance','fare_amount','tip_amount','total_amount','stadium_code']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames1)
writer.writeheader()
for index, row in baseballdf.iterrows():
gametimestart = row['Start.Time']
gametimeend = row['End.Time']
arrivemin = gametimestart - datetime.timedelta(minutes=120)
arrivemax = gametimeend - datetime.timedelta(minutes = 30)
departmin = gametimeend - datetime.timedelta(minutes = 60)
departmax = gametimeend + datetime.timedelta(minutes = 90)
gametaxidf = combineddf[combineddf.DATE==row.DATE]
gametaxidf['relevant']=0
for index, row in gametaxidf.iterrows():
arrivemask = (arrivemin < row['dropoff_datetime']) and (row['dropoff_datetime'] < arrivemax)
departmask = (departmin < row['pickup_datetime']) and (row['pickup_datetime'] < departmax)
gametaxidf.loc[arrivemask, 'relevant'] = 1
gametaxidf.loc[departmask, 'relevant'] = 1
with open('/Users/benjaminprice/Desktop/TaxiCombined/Data/combinedtaxifiltered.csv','a') as combinedtaxi:
gametaxidf.to_csv(combinedtaxi,header=None)
print(str(index) + "done")
Gametaxidf.head(5):
index pickup_datetime dropoff_datetime pickup_long pickup_lat \
0 195 2014-04-01 00:08:13 2014-04-01 00:15:32 -73.922218 40.827557
1 344 2014-04-01 00:16:30 2014-04-01 00:20:38 -73.846046 40.754566
2 558 2014-04-01 00:28:59 2014-04-01 00:36:36 -73.921692 40.831394
3 744 2014-04-01 00:42:00 2014-04-01 00:49:46 -73.938080 40.804646
4 776 2014-04-01 00:43:54 2014-04-01 00:53:22 -73.952652 40.810577
dropoff_long dropoff_lat passenger_count trip_distance fare_amount \
0 -73.900620 40.856174 1 2.30 9.0
1 -73.890259 40.753246 1 0.56 4.5
2 -73.942719 40.823257 1 1.53 7.0
3 -73.928490 40.830433 1 2.96 11.0
4 -73.924332 40.827320 1 2.28 10.5
tip_amount total_amount stadium_code DATE relevant
0 0 10.0 1.1 2014-04-01 0
1 0 5.5 2.1 2014-04-01 0
2 0 8.0 1.1 2014-04-01 0
3 0 12.0 1.0 2014-04-01 0
4 0 11.5 1.0 2014-04-01 0
还收到此警告:正在尝试在 DataFrame 的切片副本上设置值。
Try using .loc[row_indexer,col_indexer] = value instead
但这让我可以继续下去......任何帮助都会很棒。
最佳答案
这里
gametaxidf.loc[arrivemask, 'relevant'] = 1
您正在尝试通过 .loc
运算符设置数据帧值。 Pandas docs for selecting rows说:
.loc is primarily label based, but may also be used with a boolean array. .loc will raise KeyError when the items are not found. Allowed inputs are:
- A single label, e.g. 5 or 'a', (note that 5 is interpreted as a label of the index. This use is not an integer position along the index)
- A list or array of labels ['a', 'b', 'c']
- A slice object with labels 'a':'f', (note that contrary to usual python slices, both the start and the stop are included!)
- A boolean array
您正在尝试使用最后一种输入类型,但是这个
arrivemask = (arrivemin < row['dropoff_datetime']) and
(row['dropoff_datetime'] < arrivemax)
是标量 boolean 值,而不是数组。
您不需要迭代数据帧。 Pandas 为你做这件事。只需使用:
gametaxidf.loc[
(arrivemin < gametaxidf['dropoff_datetime'])
&
(gametaxidf['dropoff_datetime'] < arrivemax)
, 'relevant'] = 1
关于python - 在 pandas 数据帧上使用 boolean 过滤器时出现 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33817842/
SQLite、Content provider 和 Shared Preference 之间的所有已知区别。 但我想知道什么时候需要根据情况使用 SQLite 或 Content Provider 或
警告:我正在使用一个我无法完全控制的后端,所以我正在努力解决 Backbone 中的一些注意事项,这些注意事项可能在其他地方更好地解决......不幸的是,我别无选择,只能在这里处理它们! 所以,我的
我一整天都在挣扎。我的预输入搜索表达式与远程 json 数据完美配合。但是当我尝试使用相同的 json 数据作为预取数据时,建议为空。点击第一个标志后,我收到预定义消息“无法找到任何内容...”,结果
我正在制作一个模拟 NHL 选秀彩票的程序,其中屏幕右侧应该有一个 JTextField,并且在左侧绘制弹跳的选秀球。我创建了一个名为 Ball 的类,它实现了 Runnable,并在我的主 Draf
这个问题已经有答案了: How can I calculate a time span in Java and format the output? (18 个回答) 已关闭 9 年前。 这是我的代码
我有一个 ASP.NET Web API 应用程序在我的本地 IIS 实例上运行。 Web 应用程序配置有 CORS。我调用的 Web API 方法类似于: [POST("/API/{foo}/{ba
我将用户输入的时间和日期作为: DatePicker dp = (DatePicker) findViewById(R.id.datePicker); TimePicker tp = (TimePic
放宽“邻居”的标准是否足够,或者是否有其他标准行动可以采取? 最佳答案 如果所有相邻解决方案都是 Tabu,则听起来您的 Tabu 列表的大小太长或您的释放策略太严格。一个好的 Tabu 列表长度是
我正在阅读来自 cppreference 的代码示例: #include #include #include #include template void print_queue(T& q)
我快疯了,我试图理解工具提示的行为,但没有成功。 1. 第一个问题是当我尝试通过插件(按钮 1)在点击事件中使用它时 -> 如果您转到 Fiddle,您会在“内容”内看到该函数' 每次点击都会调用该属
我在功能组件中有以下代码: const [ folder, setFolder ] = useState([]); const folderData = useContext(FolderContex
我在使用预签名网址和 AFNetworking 3.0 从 S3 获取图像时遇到问题。我可以使用 NSMutableURLRequest 和 NSURLSession 获取图像,但是当我使用 AFHT
我正在使用 Oracle ojdbc 12 和 Java 8 处理 Oracle UCP 管理器的问题。当 UCP 池启动失败时,我希望关闭它创建的连接。 当池初始化期间遇到 ORA-02391:超过
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve
引用这个plunker: https://plnkr.co/edit/GWsbdDWVvBYNMqyxzlLY?p=preview 我在 styles.css 文件和 src/app.ts 文件中指定
为什么我的条形这么细?我尝试将宽度设置为 1,它们变得非常厚。我不知道还能尝试什么。默认厚度为 0.8,这是应该的样子吗? import matplotlib.pyplot as plt import
当我编写时,查询按预期执行: SELECT id, day2.count - day1.count AS diff FROM day1 NATURAL JOIN day2; 但我真正想要的是右连接。当
我有以下时间数据: 0 08/01/16 13:07:46,335437 1 18/02/16 08:40:40,565575 2 14/01/16 22:2
一些背景知识 -我的 NodeJS 服务器在端口 3001 上运行,我的 React 应用程序在端口 3000 上运行。我在 React 应用程序 package.json 中设置了一个代理来代理对端
我面临着一个愚蠢的问题。我试图在我的 Angular 应用程序中延迟加载我的图像,我已经尝试过这个2: 但是他们都设置了 src attr 而不是 data-src,我在这里遗漏了什么吗?保留 d
我是一名优秀的程序员,十分优秀!