Pandas DataFrame 基本操作实例100个

Pandas

是一个基于NumPy的数据分析模块,最初由AQR Capital Management于2008年4月开发,并于2009年底开源。Pandas的名称来源于“Panel Data”(面板数据)和“Python数据分析”(data analysis)。这个库现在由专注于Python数据包开发的PyData开发团队继续开发和维护,属于PyData项目的一部分。

Pandas为Python提供了大量的数据处理函数和方法,使得Python成为强大而高效的数据分析环境。这个库主要提供了三种数据结构:Series(带标签的一维数组)、DataFrame(带标签且大小可变的二维表格结构)和Panel(带标签且大小可变的三维数组)。这些数据结构使得Pandas能够高效地处理大型数据集。

Pandas的主要功能包括数据清理、数据转换、数据提取和分析等。它可以帮助用户解决各种数据问题,如检查两个或多个列之间是否存在相关性,计算数据的平均值、最大值、最小值等。此外,Pandas还能够删除不相关的行或包含错误值的行,这被称为数据清洗。

示例

提高可读性的列重命名:重命名DataFrame列以提高可读性。

df.rename(columns={'old_name': 'new_name'}, inplace=True)

为MultiIndex DataFrames展平索引:为简化起见,展平MultiIndex DataFrame。

df.columns = ['_'.join(col).strip() for col in df.columns.values]

为DataFrame应用条件格式:使用Styler突出显示特定数据点。

df.style.applymap(lambda x: 'background-color: yellow' if x > 0 else 'background-color: red')

使用分类数据类型优化性能:将对象类型转换为分类类型,以加快操作速度并减少内存使用。

df['category'] = df['category'].astype('category')

使用filter动态过滤行:根据动态条件过滤DataFrame行。

df_filtered = df.filter(regex='pattern')

在多个列上应用函数:使用apply和axis=1在行上应用函数。

df['new_column'] = df.apply(lambda row: row['a'] + row['b'], axis=1)

使用concat高效合并DataFrames:在管理索引的同时垂直或水平连接DataFrames。

pd.concat([df1, df2], axis=0, ignore_index=True)

使用read_csv参数进行选择性读取:使用read_csv中的参数读取文件的特定行、列或块。

df = pd.read_csv('file.csv', usecols=['col1', 'col2'], nrows=100)

使用fillna处理缺失数据:用特定值或计算值(如列的均值)填充缺失值。

df.fillna(df.mean(), inplace=True)

检测和过滤异常值:根据z分数或IQR识别并删除异常值。

from scipy.stats import zscore 
df = df[(np.abs(zscore(df)) < 3).all(axis=1)]

用于报告的DataFrame样式化:使用Pandas Styler为报告生成向DataFrame添加CSS样式。

df.style.set_properties(**{'background-color': 'black', 'color': 'white'})

从列创建MultiIndex:将DataFrame列转换为MultiIndex以创建分层级别。

df.set_index(['col1', 'col2'], inplace=True)

使用groupby和自定义函数进行聚合:对数据进行分组并应用自定义聚合函数进行详细分析。

df.groupby('group').agg({'data': lambda x: x.max() - x.min()})

时间序列分解:将时间序列数据分解为趋势、季节性和残差分量。

from statsmodels.tsa.seasonal import seasonal_decompose 
result = seasonal_decompose(df['time_series'], model='additive', freq=365) 
result.plot()

为时间序列分析创建滞后特征:创建滞后特征以在时间序列预测的机器学习模型中使用。

df['lag_1'] = df['series'].shift(1)

使用pivot_table进行多维分析:为复杂数据汇总创建类似电子表格的数据透视表。

df.pivot_table(values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum)

使用set_index进行自定义索引:将DataFrame列设置为索引以便于行查找。

df.set_index('column_name', inplace=True)

大型数据集的批处理:以批处理方式处理大型数据集以最小化内存使用。

chunk_size = 10000
for chunk in pd.read_csv('large_dataset.csv', chunksize=chunk_size):
    process(chunk)

使用melt进行数据规范化:将DataFrame从宽格式规范化或展开到长格式。

pd.melt(df, id_vars=['id'], value_vars=['A', 'B', 'C'])

使用query安全访问数据:使用query方法使用查询表达式过滤DataFrame。

df.query('column > 100')

使用loc进行条件选择:使用loc基于标签进行更复杂的条件选择。

df_filtered = df.loc[df['column'] > 10, ['column1', 'column2']]

使用at和iat进行快速标量访问:使用at进行基于标签的标量访问,使用iat进行基于整数的访问。

value = df.at[0, 'column'] value = df.iat[0, 1]

多级索引xs:使用xs从具有多级索引的DataFrame获取交叉部分。

value = df.xs('Level1', level='LevelName', axis=0)

使用factorize创建虚拟变量:将分类变量数值化为虚拟/指示变量。

df['category_encoded'], _ = pd.factorize(df['category_column'])

使用eval和query进行动态查询:使用字符串表达式进行高效查询和列操作。

df_filtered = df.query('column > 10')
df.eval('new_column = column1 + column2', inplace=True)

使用sort_values进行自定义排序:按照一个或多个列进行排序,并指定自定义排序顺序。

df_sorted = df.sort_values(by=['column1', 'column2'], ascending=[True, False])

使用to_datetime进行高效日期解析:将字符串日期有效地转换为日期时间对象。

df['date'] = pd.to_datetime(df['date_string'], format='%Y-%m-%d')

使用chunksize处理大型数据:以可管理的块处理大型数据。

for chunk in pd.read_csv('large_file.csv', chunksize=10000):
    process(chunk)

自定义Groupby聚合:对groupby对象应用自定义聚合函数。

df_grouped = df.groupby('group_column').agg({'data_column': ['mean', 'std', lambda x: x.max() - x.min()]})

时间序列重采样:对时间序列数据进行降采样或升采样。

df_resampled = df.resample('M').mean()

使用pivot进行数据重格式化:基于列值对表进行数据透视。

df_pivoted = df.pivot(index='date', columns='variable', values='value')

使用Multi-Index进行stack和unstack:将具有多级列的DataFrame转换为更紧凑的形式。

stacked = df.stack() 
unstacked = stacked.unstack()

字符串和类别类型之间的转换:将数据类型转换为优化内存使用的格式。

df['string_column'] = df['category_column'].astype('string')
df['category_column'] = df['string_column'].astype('category')

使用不同连接类型合并DataFrames:执行左连接、右连接、内连接和外连接,类似于SQL。

df_merged = pd.merge(df1, df2, how='left', on='key_column')

使用iloc切片DataFrame:使用iloc进行基于位置的索引,通过整数位置选择行和列。

df_subset = df.iloc[0:5, [1, 2]]

根据条件创建数据屏蔽:创建布尔屏蔽以过滤数据。

mask = (df['column'] > 10) & (df['column'] < 20)
df_masked = df[mask]

时间序列的扩展和滚动操作:使用扩展或滚动操作进行累积计算。

df_expanding = df['data_column'].expanding().mean()
df_rolling = df['data_column'].rolling(window=5).mean()

数据转换的列映射:对数据转换应用字典映射到列。

df['column_mapped'] = df['column'].map(mapping_dict)

将字符串拆分为列:将字符串数据拆分为单独的列。

df[['first', 'last']] = df['name'].str.split(' ', expand=True)

在多个级别聚合数据:对groupby执行多级别聚合。

df_multi_agg = df.groupby(['level1', 'level2']).agg({'data1': 'mean', 'dat

使用query进行过滤:query方法允许更可读的过滤语法,特别是对于复杂条件。

df_filtered = df.query('a > 1 and b < 4')

使用assign创建新列:动态向DataFrame添加新列,这对于链式操作特别有用。

df = df.assign(new_column=lambda x: x['a'] + x['b'])

使用applymap进行矢量化操作:在DataFrame上逐元素地应用函数,对于将变换应用于每个元素很有用。

df = df.applymap(lambda x: x*2)

连接DataFrames:垂直或水平组合多个DataFrames。

df_combined = pd.concat([df1, df2], axis=0)  # 垂直

在关键列上合并DataFrames:根据关键列合并DataFrames,类似于SQL连接。

df_merged = pd.merge(df1, df2, on='key_column')

使用get_dummies进行独热编码:将分类变量转换为虚拟/指示变量。

df_with_dummies = pd.get_dummies(df, columns=['category_column'])

自定义聚合的GroupBy:对数据进行分组并应用自定义聚合函数。

df_grouped = df.groupby('group_column').agg(custom_agg_func)

使用cut对数据进行分箱:将数据值分段和排序到箱中。

df['binned_column'] = pd.cut(df['numeric_column'], bins=3)

使用replace进行数据清理:替换DataFrame中的值。

df = df.replace({'old_value': 'new_value'})

删除具有缺失值的列:删除具有一定百分比缺失值的列。

df = df.dropna(axis=1, thresh=int(0.9*len(df)))

DataFrame内存使用情况:检查DataFrame的内存使用情况。

df_memory_usage = df.memory_usage(deep=True)

使用select_dtypes按数据类型选择列:根据数据类型筛选列。

df_numeric = df.select_dtypes(include=['int64', 'float64'])

设置和重置索引:使用列作为DataFrame索引或将其重置。

df.set_index('column_name', inplace=True)
df.reset_index(inplace=True)

使用iterrows对行进行迭代:以(index, Series)对的形式循环DataFrame行。

for index, row in df.iterrows():
    print(index, row['column'])

对DataFrame操作使用inplace=True:许多DataFrame方法提供inplace参数,允许在原地修改DataFrame而不将结果分配给新变量。这可以使代码更简洁,减少内存使用。

import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    [4, 5, 6],
    [None, 2, 3],
    [None, 5, 6],
], columns=['a', 'b', 'c'])

# 删除带有NaN值的行
df.dropna(inplace=True)
print(df)

使用melt进行数据重塑:将DataFrame从宽格式重塑为长格式,可选择保留标识符。

df_melted = pd.melt(df, id_vars=['identifier_column'], value_vars=['value_column'])

日期和时间操作:提取或操作日期时间对象的组件。

df['year'] = df['datetime_column'].dt.year

将DataFrame保存为各种格式:将DataFrame导出为CSV、Excel或SQL数据库。

df.to_csv('filename.csv', index=False)
df.to_excel('filename.xlsx', sheet_name='Sheet1')

使用特定dtypes读取数据:在加载数据时指定列数据类型以节省内存。

df = pd.read_csv('filename.csv', dtype={'column': 'dtype'})

使用eval进行高效操作:评估描述DataFrame列操作的字符串。

df['new_column'] = df.eval('column1 + column2')

使用str方法进行数据清洗:清理或操作字符串列。

df['string_column'] = df['string_column'].str.strip().str.lower()

使用df.to_clipboard()将数据复制到剪贴板:将DataFrame的内容复制到剪贴板。

import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    [4, 5, 6]
], columns=['a', 'b', 'c'])

# 将DataFrame复制到剪贴板
df.to_clipboard()

使用.T转置DataFrame:转置DataFrame会交换其行和列,这在数据分析中特别有用,特别是当您想要更改数据集的方向以进行可视化或比较时。

import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    [4, 5, 6]
], columns=['a', 'b', 'c'])

# 转置DataFrame
df_transposed = df.T
print(df_transposed)

使用.apply()应用函数:.apply()方法允许您在DataFrame或Series的轴上应用函数。对于将复杂函数或lambda表达式应用于数据元素非常有用。

import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
], columns=['a', 'b', 'c'])

# 在“a”列中求平方
df['a_squared'] = df['a'].apply(lambda x: x**2)
print(df)

使用~反转过滤条件:使用波浪符~反转布尔条件。当您想要选择不匹配某个条件的行时特别有用,例如在DataFrame中选择非空值。

import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    [1, 2, 4],
    [None, 2, 4],
    [2, 2, 3],
    [None, 2, 4]
], columns=['a', 'b', 'c'])

# 通过反转过滤选择“a”不是NaN的行
df_not_null = df[~df['a'].isna()]
print(df_not_null)

条件列创建:使用np.where根据条件创建新列。

df['new_column'] = np.where(df['column'] > condition, value_if_true, value_if_false)

多重索引创建:为更复杂的数据分析创建分层索引(MultiIndex)。

df.set_index(['column1', 'column2'], inplace=True)

透视表:生成用于汇总数据的透视表。

df.pivot_table(values='value_column', index='index_column', columns='columns_column', aggfunc=np.sum)

类别数据转换:将分类数据转换为‘category’类型以提高效率。

df['category_column'] = df['category_column'].astype('category')

在索引上合并:使用它们的索引合并两个数据帧。

pd.merge(df1, df2, left_index=True, right_index=True)

窗口函数:使用滚动窗口进行计算。

df['rolling_sum'] = df['value'].rolling(window=3).sum()

使用GroupBy进行聚合:使用groupby执行高级聚合。

df.groupby('group_column').agg({'value_column': ['sum', 'mean', 'std']})

处理缺失数据:使用插值方法智能地处理缺失数据。

df.interpolate(method='linear', inplace=True)

矢量化字符串操作:使用矢量化操作无需循环应用字符串方法。

df['string_column'].str.upper()

日期处理:将字符串转换为日期时间并提取特征。

df['date_column'] = pd.to_datetime(df['date_column'])
df['year'] = df['date_column'].dt.year

内存优化:通过将数字列下降转换为整数来减少内存使用。

df['int_column'] = pd.to_numeric(df['int_column'], downcast='integer')

交叉表:创建交叉表以探索两列之间的关系。

pd.crosstab(df['column1'], df['column2'])

展开列表:将DataFrame列中的列表扩展为单独的行。

df.explode('list_column')

数据归一化:为机器学习归一化数据列。

df['normalized'] = (df['column'] - df['column'].mean()) / df['column'].std()

条件应用函数:根据条件将函数应用于特定行或列。

df.apply(lambda x: func(x) if condition else x)

处理重复行:识别并删除重复行。

df.drop_duplicates(subset=['column1', 'column2'], keep='first')

类别排序:逻辑排序类别,而不是按字母顺序排序。

from pandas.api.types import CategoricalDtype
cat_type = CategoricalDtype(categories=['low', 'medium', 'high'], ordered=True)
df['ordered_category'] = df['category_column'].astype(cat_type)

时间序列重采样:为不同的时间框架重采样时间序列数据。

df.resample('M').mean()

过滤的查询方法:使用查询更简洁地过滤行。

df.query('column > value')

为DataFrame应用样式:为更好地可视化,在DataFrame上应用条件格式。

df.style.applymap(lambda x: 'color: red' if x < 0 else 'color: black')

动态列选择:根据条件检查其数据类型或其他条件选择列。

numeric_cols = df.select_dtypes(include=['int64', 'float64']).columns

高效的日期范围创建:生成日期和时间序列。

dates = pd.date_range(start='2020-01-01', end='2020-12-31', freq='D')

自定义列聚合:在groupby中对不同列应用不同的聚合函数。

df.groupby('group_col').agg({'data1': 'sum', 'data2': 'mean'})

DataFrame联接操作:使用索引或公共列联接DataFrame,类似于SQL联接。

df_joined = df1.join(df2.set_index('key'), on='key')

保存到多个Excel表:将不同的DataFrame写入同一Excel文件的不同工作表。

with pd.ExcelWriter('output.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Sheet1')
    df2.to_excel(writer, sheet_name='Sheet2')

列合并:按列合并DataFrame,根据索引对齐。

df_concat = pd.concat([df1, df2], axis=1)

按行数据追加:将一个DataFrame的行追加到另一个DataFrame。

df_appended = df1.append(df2, ignore_index=True)

类别数据排序:控制分类数据中类别的顺序。

df['category'] = pd.Categorical(df['category'], categories=['low', 'medium', 'high'], ordered=True)

重复行识别:基于特定列识别和处理重复行。

duplicates = df.duplicated(subset=['col1', 'col2'], keep=False)
df_duplicates = df[duplicates]

加权平均数计算:为分组数据计算加权平均数。

df['weighted_mean'] = df.groupby('group')['value'].transform(lambda x: np.average(x, weights=df.loc[x.index, 'weight']))

用于数据概览的Pandas Profiling:为DataFrame生成全面的报告进行初步数据分析。

import pandas_profiling
report = pandas_profiling.ProfileReport(df)
report.to_file("data_analysis.html")

多重索引操作用于分层数据:使用分层索引(MultiIndex)操作DataFrame以处理复杂数据结构。

df_multi = df.set_index(['level_1', 'level_2'])

使用布尔索引对DataFrame进行切片:使用布尔条件对DataFrame进行切片以进行数据子集化。

df_sliced = df[df['column'] > value]

滚动窗口计算:在滚动窗口中执行计算,例如移动平均数。

df_rolling_avg = df['data_column'].rolling(window=5).mean()

扩展窗口用于累积计算:使用扩展窗口计算累积统计信息。

df_cum_sum = df['data_column'].expanding().sum()


总结

总的来说,Pandas是一个强大而灵活的数据分析工具,它使得Python在数据分析领域具有广泛的应用。无论是金融、科学、社会科学还是其他领域,Pandas都可以帮助用户高效地处理和分析数据,从而得出有价值的结论。以上100个基本操作实例涉及数据排序、数值计算、数据分析、重复处理、布尔索引切片、多重索引设置、文件操作等等操作,其中提到的函数、方法和属性包括不限于以下索引:

函数索引

agg, append, apply, astype, at, columns, concat, crosstab, date_range, downcast, drop_duplicates, dropna, duplicated, eval, expanding, explode, fillna, filter, groupby, iloc, inplace, interpolate, iterrows, join, keep, loc, map, mask, melt, memory_usage, merge, np.average, np.where, pandas_profiling.ProfileReport, pd.Categorical, pd.factorize, pd.melt, pd.to_datetime, pivot, pivot_table, query, read_csv, resample, rolling, seasonal_decompose, select_dtypes, set_index, reset_index, shift, sort_values, stack,\xa0unstack, style.applymap, to_clipboard, to_csv, to_excel, to_datetime, to_file, agg, append, apply, astype, at, columns, concat, crosstab, date_range, downcast, drop_duplicates, dropna, duplicated, eval, expanding, explode, fillna, filter, groupby, iloc, inplace, interpolate, iterrows, join, keep, loc, map, mask, melt, memory_usage, merge, np.average, np.where, pandas_profiling.ProfileReport, pd.Categorical, pd.factorize, pd.melt, pd.to_datetime, pivot, pivot_table, query, read_csv, resample, rolling, seasonal_decompose, select_dtypes, set_index, reset_index, shift, sort_values, stack,\xa0unstack, style.applymap, to_clipboard, to_csv, to_excel, to_datetime, to_file 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/426578.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Google Dremel和parquet的复杂嵌套数据结构表征方法解析

转载请注明出处。作者&#xff1a;archimekai 核心参考文献&#xff1a; Dremel: Interactive Analysis of Web-Scale Datasets 文章目录 引言复杂嵌套数据结构的无损表征问题Dremel论文中提出的表征方法parquet备注 引言 Dremel是Google的交互式分析系统。Google大量采用prot…

IDEA POM文件配置profile实现不同环境切换

目录 一、背景 二、实现 2.1创建不同的配置文件 2.2配置POM文件 三、效果 3.1本地使用 2.2线上或者测试环境使用 一、背景 在企业级开发中&#xff0c;为了不影响生产环境的项目运行&#xff0c;一般情况下都会划分生产环境、测试环境、开发环境。不同环境可以配置不同的…

ubuntu安裝Avahi发现服务工具

一、简介 解决设置固定ip后无法连接外网的问题&#xff0c;目前采用动态获取ip&#xff0c;可以不用设置设备的固定IP&#xff0c;直接可以通过域名来访问设备&#xff0c;类似树莓派的连接调试 二、安装 本文使用的是ubuntu23.10.1上安装 1.安装工具 sudo apt install av…

ABAP - SALV教程17 弹窗ALV

SALV可以通过弹窗形式打开在生成SALV实例对象后调用set_screen_popup方法设置成弹出模式 "设置为弹窗模式 go_alv->set_screen_popup( start_column 10end_column 110start_line 5end_line 15). 显示效果 完整代码 SELECT *FROM ekkoINTO TABLE DATA(gt_dat…

使用plasmo框架开发浏览器插件,注入contents脚本和给页面添加UI组件

plasmo&#xff1a;GitHub - PlasmoHQ/plasmo: &#x1f9e9; The Browser Extension Framework plasmo是一个开发浏览器插件的框架&#xff0c;支持使用react和vue等技术&#xff0c;而且不用手动管理manifest.json文件&#xff0c;框架会根据你在框架中的使用&#xff0c;自…

二极管原理及典型应用电路、三极管基本结构及类型状态

目录 二极管原理及典型应用电路 二极管的工作原理 二极管保护电路 二极管整流电路 二极管稳压电路 三极管基本结构及类型状态 三极管基本结构和类型 三极管的 3 种工作状态 二极管原理及典型应用电路 如下图&#xff0c;二极管长成这样。它们通常有一个黑色圆柱体&am…

力扣刷题笔记

力扣206 反转链表 题目描述: 给你单链表的头节点head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[…

抖音视频评论批量下载软件|抖音数据抓取工具

随着业务需求的增长&#xff0c;抖音视频的下载需求也日益增加。传统的方式是通过逐个复制粘贴分享链接来下载视频&#xff0c;这种操作效率低下且耗时费力。为了解决这一问题&#xff0c;我们开发了一款基于C#的抖音视频评论批量下载软件&#xff0c;旨在实现通过关键词自动批…

STM32(5) GPIO(2)输出

1.点亮LED 1.1 推挽接法和开漏接法 要想点亮LED&#xff0c;有两种接法 推挽接法&#xff1a; 向寄存器写1&#xff0c;引脚输出高电平&#xff0c;LED点亮&#xff1b;向寄存器写0&#xff0c;引脚输出低电平&#xff0c;LED熄灭。 开漏接法&#xff1a; 向寄存器写0&…

【大厂AI课学习笔记NO.64】机器学习开发框架

机器学习开发框架本质上是一种编程库或工具&#xff0c;目的是能够让开发人员更容易、更快速地构建机器学习模型。 机器学习开发框架封装了大量的可重用代码&#xff0c;可以直接调用&#xff0c;目的是避免“重复造轮子’大幅降低开发人员的开发难度&#xff0c;提高开发效率…

Spark(2)-基础tranform算子(一)

一、算子列表 编号名称1map算子2flatMap算子3filter算子4mapPartitions算子5mapPartitionsWithIndex算子6keys算子7values算子8mapValues算子9flatMaplValues算子10union算子11reducedByKey算子12combineByKey算子13groupByKey算子14foldByKey算子15aggregateByKey算子16Shuff…

计算机网络-网络安全(一)

1.网络安全威胁和漏洞类型&#xff1a; 窃听 假冒 重放 流量分析 破环完整 病毒 木马 诽谤 非授权访问 拒绝服务 漏洞&#xff1a;物理、软件、不兼容、其他等。 2.网络安全信息数据五大特征&#xff1a; 完整性&…

kettle下载及安装

JDK下载 安装kettle之前需要安装JDK JDK下载链接&#xff1a;JDK下载 配置环境变量&#xff1a; 新建系统变量&#xff1a;变量值为JDK安装路径 Path新增&#xff1a; kettle下载 链接地址&#xff1a;PDI&#xff08;kettle&#xff09; 点击下载 同意 Click here to a…

模拟集成电路设计:Bandgap电路设计及版图实现

模拟集成电路设计 Bandgap电路设计及版图实现 一、目的&#xff1a; 1、熟悉模拟集成电路设计的基本流程&#xff0c;实现Bandgap电路设计&#xff1b; 2、熟悉Linux系统及Cadence Virtuoso icfb设计、仿真软件的使用方法。 二、原理&#xff1a; 1、设计目标&#xff1a;…

Vmware esxi虚拟主机状态无效,无法注销重启等操作修复解决

问题 装有ESXI系统的服务器在强制关机启动后&#xff0c;显示虚拟机状态是无效的&#xff0c;并且无法进行任何操作。 解决办法 对出问题的虚拟机重新注册 1、开启esxi系统的ssh功能 2、取消注册出问题的虚拟机 找到问题的虚拟机 [rootlocalhost:~] vim-cmd vmsvc/getal…

基于JavaWeb实现的药店管理系统

一、系统架构 前端&#xff1a;jsp | layui | jquery | css 后端&#xff1a;spring | springmvn | mybatis 环境&#xff1a;jdk1.8 | mysql 二、代码及数据库 三、功能介绍 01. 登录 02. 首页 03. 药品管理 04. 销售管理-销售记录管理 05. 销售管理-退…

AI蠕虫病毒威胁升级,揭示AI安全新危机

一组研究人员成功研发出首个能够通过电子邮件客户端窃取数据、传播恶意软件以及向他人发送垃圾邮件的AI蠕虫&#xff0c;并在使用流行的大规模语言模型&#xff08;LLMs&#xff09;的测试环境中展示了其按设计功能运作的能力。基于他们的研究成果&#xff0c;研究人员向生成式…

Unreal触屏和鼠标控制旋转冲突问题

Unreal触屏和鼠标控制旋转冲突问题 鼠标控制摄像机旋转添加Input轴计算旋转角度通过轴事件控制旋转 问题和原因问题原因 解决办法增加触摸控制旋转代码触屏操作下屏蔽鼠标轴响应事件 鼠标控制摄像机旋转 通过Mouse X和Mouse Y控制摄像机旋转。 添加Input轴 计算旋转角度 通过…

Python推导式大全与实战:精通列表、字典、集合和生成器推导式【第115篇—python:推导式】

Python推导式大全与实战&#xff1a;精通列表、字典、集合和生成器推导式 Python语言以其简洁、优雅的语法而闻名&#xff0c;其中推导式是其独特之处之一。推导式是一种在一行代码中构建数据结构的强大方式&#xff0c;它涵盖了列表、字典、集合和生成器。本篇博客将全面介绍…

Python实现BIAS工具判断信号:股票技术分析的工具系列(4)

Python实现BIAS工具判断信号&#xff1a;股票技术分析的工具系列&#xff08;4&#xff09; 介绍算法解释 代码rolling函数介绍完整代码data代码BIAS.py 介绍 在股票技术分析中&#xff0c;BIAS&#xff08;乖离率&#xff09;是一种常用的技术指标&#xff0c;用于判断股票价…