我收到以下警告
性能警告:DataFrame 高度碎片化。这通常是多次调用的结果
frame.insert,性能较差。考虑使用 pd.concat 代替。要获得碎片整理的框架,请使用newframe = frame.copy()
当我尝试附加多个数据帧时,例如
df1 = pd.DataFrame()
for file in files:
df = pd.read(file)
df['id'] = file # <---- this line causes the warning
df1 = df1.append(df, ignore_index =True)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以解释 copy() 如何避免或减少片段问题或建议其他不同的解决方案来避免这些问题。
我尝试创建一个测试代码来重复问题,但我没有看到PerformanceWarning测试数据集(随机整数)。在读取真实数据集时,相同的代码将继续产生警告。看起来有些东西触发了真实数据集中的问题。
import pandas as pd
import numpy as np
import os
import glob
rows = 35000
cols = 1900
def gen_data(rows, cols, num_files):
if not os.path.isdir('./data'):
os.mkdir('./data')
files = []
for i in range(num_files):
file = f'./data/{i}.pkl'
pd.DataFrame(
np.random.randint(1, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 pandas 将数据帧中的数据保存到 Excel 文件中。我正在尝试以下代码。
import pandas as pd
import xlsxwriter
data = {'Name': ['John', 'Jane', 'Adam'], 'Age': [25, 30, 35], 'Gender': ['M', 'F', 'M']}
df = pd.DataFrame(data)
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
worksheet = writer.sheets['Sheet1']
# Example: Adding a chart
chart = workbook.add_chart({'type': 'line'})
chart.add_series({'values': '=Sheet1.$B$2:$B$4'})
worksheet.insert_chart('D2', chart)
writer.save()
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
writer.save()
^^^^^^^^^^^
AttributeError: 'XlsxWriter' object has no attribute 'save'. Did you mean: '_save'?
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决它?
我有一个 Pandas 数据集,名为titanic我正在绘制条形图,如 Seaborn 官方文档中所述,使用以下代码:
import seaborn as sns
titanic = sns.load_dataset("titanic")
sns.catplot(x="sex", y="survived", hue="class", kind="bar", data=titanic)
Run Code Online (Sandbox Code Playgroud)
这会产生以下图:
如您所见,色调由 表示class。如何手动选择色调顺序以便反转当前色调顺序?
我正在尝试连接 pandas 中的两列。代码 :
import pandas as pd
import numpy as np
from statsmodels import api as sm
import pandas_datareader.data as web
import datetime
start = datetime.datetime(2015,2,12)
end = datetime.datetime.today()
df = web.get_data_yahoo(['F', '^GSPC'], start, end)
df1 = df.concat(columns=[F['Close'], gspc['Close']], axis=1)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
AttributeError: 'DataFrame' object has no attribute 'concat'
Run Code Online (Sandbox Code Playgroud) 当我从数据中预测一个样本时,它会给出重塑错误,但我的模型具有相同的行数。这是我的代码:
import pandas as pd
from sklearn.linear_model import LinearRegression
import numpy as np
x = np.array([2.0 , 2.4, 1.5, 3.5, 3.5, 3.5, 3.5, 3.7, 3.7])
y = np.array([196, 221, 136, 255, 244, 230, 232, 255, 267])
lr = LinearRegression()
lr.fit(x,y)
print(lr.predict(2.4))
Run Code Online (Sandbox Code Playgroud)
错误是
if it contains a single sample.".format(array))
ValueError: Expected 2D array, got scalar array instead:
array=2.4.
Reshape your data either using array.reshape(-1, 1) if your data has a
single feature or array.reshape(1, -1) if it contains a single sample.
Run Code Online (Sandbox Code Playgroud) python machine-learning linear-regression python-3.x scikit-learn
C中的参数是什么意思sklearn.linear_model.LogisticRegression?它如何影响决策边界?高值会使C决策边界非线性吗?如果我们可视化决策边界,逻辑回归的过度拟合会是什么样子?
python machine-learning scikit-learn logistic-regression overfitting-underfitting
我想获得线性回归结果的置信区间。我正在使用波士顿房价数据集。
我发现了这个问题: 如何计算 python 线性回归模型中斜率的 99% 置信区间? 但是,这并不能完全回答我的问题。
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
from math import pi
import pandas as pd
import seaborn as sns
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# import the data
boston_dataset = load_boston()
boston = pd.DataFrame(boston_dataset.data, columns=boston_dataset.feature_names)
boston['MEDV'] = boston_dataset.target
X = pd.DataFrame(np.c_[boston['LSTAT'], boston['RM']], columns=['LSTAT', 'RM'])
Y = boston['MEDV']
# splits the training and test data set in 80% : …Run Code Online (Sandbox Code Playgroud) 我正在研究自监督机器学习代码。
我想用python debuggernot来调试代码pdb.set_trace()。这是 ubuntu 终端的 python 命令。
python -m torch.distributed.launch --nproc_per_node=1 main_swav.py \
--data_path /dataset/imagenet/train \
--epochs 400 \
--base_lr 0.6 \
--final_lr 0.0006 \
--warmup_epochs 0 \
--batch_size 8 \
--size_crops 224 96 \
--nmb_crops 2 6 \
--min_scale_crops 0.14 0.05 \
--max_scale_crops 1. 0.14 \
--use_fp16 true \
--freeze_prototypes_niters 5005 \
--queue_length 380 \
--epoch_queue_starts 15\
--workers 10
Run Code Online (Sandbox Code Playgroud)
为了使用 VScode 调试代码,我尝试修改 launch.json,如下所示,参考stackoverflow 问题
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: …Run Code Online (Sandbox Code Playgroud) 我想在 Pyplot 中使图例尺寸更大。我用这个答案来做到这一点。这是我的代码。
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style("whitegrid")
plt.rcParams['figure.figsize'] = [15, 7]
lst = [1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,4,5,6]
plt.plot(lst)
plt.legend(fontsize="x-large") # Here I make it bigger but doesn't work
plt.legend(["This is my legend"])
plt.ylabel('some numbers')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我收到此警告,但我不知道出了什么问题。我不明白这里的“艺术家”是什么意思。
没有找到带有标签的艺术家加入传奇。请注意,当不带参数调用 legend() 时,标签以下划线开头的艺术家将被忽略。
我正在开发一个项目,将数据从 SQL 导入到 pandas DataFrame 中。这似乎很顺利,但是当我接受它时,pandas.mean()它会抛出一个 TypeError ,指出串联的值列表无法转换为数字(见下文):
示例数据框:
ProductSKU OverallHeight
0 AAI2185 74.5
1 AAI2275 47
2 AAI2686 56.5
3 AASA1002 73.23
Run Code Online (Sandbox Code Playgroud)
函数调用:
avgValue = df["OverallHeight"].dropna().mean() <--- Breaks here
Run Code Online (Sandbox Code Playgroud)
控制台输出:
Traceback (most recent call last):
File "C:\Program Files\Anaconda\lib\site-packages\pandas\core\generic.py", line 5310, in stat_func
numeric_only=numeric_only)
...
File "C:\Program Files\Anaconda\lib\site-packages\pandas\core\nanops.py", line 293, in nanmean
the_sum = _ensure_numeric(values.sum(axis, dtype=dtype_sum))
File "C:\Program Files\Anaconda\lib\site-packages\pandas\core\nanops.py", line 743, in _ensure_numeric
raise TypeError('Could not convert %s to numeric' % str(x))
TypeError: Could not convert 74.54756.573.23 to …Run Code Online (Sandbox Code Playgroud) python ×10
pandas ×5
dataframe ×3
python-3.x ×3
scikit-learn ×3
bar-chart ×1
excel ×1
group-by ×1
hue ×1
legend ×1
matplotlib ×1
numpy ×1
pytorch ×1
seaborn ×1
warnings ×1
xlsxwriter ×1