python - python pandas:满足条件并为其赋值
问题描述
我真的希望你能在这里帮助我......我需要将标签(df_label)分配给数据框(df_data)中的确切文件,并将每个文件中出现的所有标签保存在单独的txt文件中(这很简单)
df_data:
file_name file_start file_end
0 20190201_000004.wav 0.000 1196.000
1 20190201_002003.wav 1196.000 2392.992
2 20190201_004004.wav 2392.992 3588.992
3 20190201_010003.wav 3588.992 4785.984
4 20190201_012003.wav 4785.984 5982.976
df_label:
Begin Time (s)
0 27467.100000
1 43830.400000
2 43830.800000
3 46378.200000
我试图切换到 np.array 并使用 for loop 和 np.where 但没有任何成功......
解决方案
如果 中的时间值df_label
恰好属于 中的一个条目df_data
,则可以使用以下
def get_file_name(begin_time):
file_names = df_data[
(df_data["file_start"] <= begin_time)
& (df_data["file_end"] >= begin_time)
]["file_name"].values
return file_names.values[0] if file_names.values.size > 0 else None
df_label["file_name"] = df_label["Begin Time (s)"].apply(get_label)
file_name
这将添加另一个 coldf_label
推荐阅读
- javascript - 将所有数据导出到 Excel,包括来自分页的数据
- php - 注销时如何更改我的帐户菜单 Woocommerce 的链接
- python - 在 python 中为大数据集绘制时间序列的正确白天格式是什么?
- mysql - MySQL Window 函数计算百分比
- javascript - 如何从由斜杠分隔的 url 中获取 url 参数,例如 http://myweb.com/example/12345/222/4444 我想从上面的 url 中获取 12345、222、4444
- java - tomcat 7 到 9 迁移:java.lang.IllegalArgumentException:指定的主资源集 [...] 无效
- javascript - 引导日期时间选择器未打开
- magento - magento 2.3 安装后黑屏
- python - 从 Music21 保存图像文件
- swift - 如何将来自uiimageView的图像存储在firebase中