在我之前的问题中:如何有效地替换 pandas 中的数据框之间的项目?
我得到了一个可以使用 map() 函数的解决方案,但它会覆盖不匹配的项目。
如果我有 2 df
df = pd.DataFrame({'Ages':[20, 22, 57, 250], 'Label':[1,1,2,7]})
label_df = pd.DataFrame({'Label':[1,2,3], 'Description':['Young','Old','Very Old']})
Run Code Online (Sandbox Code Playgroud)
我想将 df 中的标签值替换为 label_df 中的描述,但如果索引之间不匹配,则保留原始值。
我得到了什么df['Label'] = df['Label'].map(label_df.set_index('Label')['Description'])
{'Ages':[20, 22, 57, 250], 'Label':['Young','Young','Old', nan]}
Run Code Online (Sandbox Code Playgroud)
想要的结果:
{'Ages':[20, 22, 57, 250], 'Label':['Young','Young','Old', 7]}
Run Code Online (Sandbox Code Playgroud) 我尝试使用os.system库从本地python项目中的特定路径运行exe(在后台)。我设法更改了“ cd”命令之类的文件夹,但无法运行该文件。
这适用于在Windows 64BIT,Python 3.5.3上运行的python项目
file.exe位于“程序”目录下。
import os
os.system("cd C:\Users\User\AppData\Windows\Start Menu\Programs")
subprocess.Popen("file.exe")
Run Code Online (Sandbox Code Playgroud)
错误:
{OSError} [WinError 193]%1不是有效的Win32应用程序
我看到了有关此问题的其他帖子,但无法解决。有任何想法吗?