小编tdy*_*tdy的帖子

matplotlib hist 函数参数密度不起作用

plt.histdensity说法不成立。

我尝试使用density函数中的参数plt.hist来标准化图中的股票收益,但它不起作用。

以下代码对我来说效果很好,并给出了我想要的概率密度函数。

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(19680801)

# example data
mu = 100  # mean of distribution
sigma = 15  # standard deviation of distribution
x = mu + sigma * np.random.randn(437)

num_bins = 50

plt.hist(x, num_bins, density=1)

plt.show()
Run Code Online (Sandbox Code Playgroud)

绘图显示密度

但当我用股票数据尝试时,它根本不起作用。结果给出了非标准化数据。我在我的数据数组中没有发现任何异常数据。

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
plt.hist(returns, 50,density = True)
plt.show()
# "returns" is a np array consisting of 360 days …
Run Code Online (Sandbox Code Playgroud)

python matplotlib histogram

20
推荐指数
1
解决办法
1万
查看次数

应用 sklearn.compose.ColumnTransformer 后保留列顺序

我正在使用库中的模块Pipeline对我的数据集执行特征工程。ColumnTransformersklearn

数据集最初看起来像这样:

日期 日期块编号 店铺ID 商品编号 商品价格
2013年1月2日 0 59 22154 999.00
2013年1月3日 0 25 2552 899.00
2013年1月5日 0 25 2552 899.00
2013年1月6日 0 25 2554 1709.05
2013年1月15日 0 25 2555 1099.00
$> data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2935849 entries, 0 to 2935848
Data columns (total 6 columns):
 #   Column          Dtype  
---  ------          -----  
 0   date            object 
 1   date_block_num  object  
 2   shop_id         object  
 3   item_id         object  
 4   item_price      float64
dtypes: float64(2), int64(3), object(1)
memory usage: 134.4+ MB …
Run Code Online (Sandbox Code Playgroud)

python pandas scikit-learn data-science

16
推荐指数
1
解决办法
6218
查看次数

如何在 pandas 数据框列中显示具有 2 位小数的值?

我想要做的是使其无论值如何,都显示 2 位小数。

到目前为止我已经尝试过:

DF['price'] = DF['price'].apply(lambda x: round(x, 2))
Run Code Online (Sandbox Code Playgroud)

然而,问题是我希望以 2 位小数显示所有内容,但像 0.5 这样的值仍保留 1 位小数,因为它们不需要四舍五入。

我可以应用一个函数来提供以下类型的输出:

Current        After Changes
0              0.00
0.5            0.50
1.01           1.01
1.133333       1.13
Run Code Online (Sandbox Code Playgroud)

理想情况下,这些值将被四舍五入,但如果这就是全部有效的话,我愿意截断。

python rounding dataframe python-3.x pandas

13
推荐指数
3
解决办法
3万
查看次数

Pandas to_gbq() TypeError“预期字节数,得到一个‘int’对象

我正在使用该pandas_gbq模块尝试将数据帧附加到 Google BigQuery 中的表中。

我不断收到此错误:

ArrowTypeError:需要字节,得到一个“int”对象。

我可以确认数据帧的数据类型与 BQ 表的架构匹配。

我发现这篇关于 Parquet 文件无法混合数据类型的文章:Pandas to parquet file

在我收到的错误消息中,我看到有一个对 Parquet 文件的引用,因此我假设该df.to_gbq()调用正在创建一个 Parquet 文件,并且我有一个混合数据类型列,这导致了错误。错误消息没有具体说明。

我认为我的挑战是我无法找到哪一列具有混合数据类型 - 我尝试将它们全部转换为字符串,然后指定表架构参数,但这也不起作用。

这是完整的错误回溯:

In [76]: df.to_gbq('Pricecrawler.Daily_Crawl_Data', project_id=project_id, if_exists='append')
ArrowTypeError                            Traceback (most recent call last)
<ipython-input-76-74cec633c5d0> in <module>
----> 1 df.to_gbq('Pricecrawler.Daily_Crawl_Data', project_id=project_id, if_exists='append')

~\Anaconda3\lib\site-packages\pandas\core\frame.py in to_gbq(self, destination_table, 
project_id, chunksize, reauth, if_exists, auth_local_webserver, table_schema, location, 
progress_bar, credentials)
   1708         from pandas.io import gbq
   1709
-> 1710         gbq.to_gbq(
   1711             self,
   1712             destination_table,

~\Anaconda3\lib\site-packages\pandas\io\gbq.py in to_gbq(dataframe, destination_table, project_id, chunksize, …
Run Code Online (Sandbox Code Playgroud)

python pandas google-bigquery

13
推荐指数
1
解决办法
2万
查看次数

使用seaborn白色风格没有显示主要刻度线并且无法恢复

当我使用seaborn“白色”样式生成绘图时,我看到主要刻度标签,但没有看到任何主要刻度线

使用...将主要刻度线设置得更大

%matplotlib inline

import seaborn as sns
import matplotlib.pyplot as plt

sns.set_style('white', {'axes.linewidth': 0.5})
plt.rcParams['xtick.major.size'] = 20
plt.rcParams['xtick.major.width'] = 4

fig, ax = plt.subplots()
plt.show()
Run Code Online (Sandbox Code Playgroud)

...没有效果。

我找不到任何可以使刻度线可见/不可见的选项。

有人有任何线索吗?

python matplotlib python-3.x seaborn

9
推荐指数
2
解决办法
8626
查看次数

内核似乎已经死亡 - Jupyter 笔记本 python matplotlib

我正在尝试学习 Python 中的图表,并不断在 Jupyter 中收到此消息:

内核似乎已经死亡。它会自动重新启动。

我的其他基本程序正在运行,所以看起来使用 Matplotlib 导致了这个问题。关于如何解决这个问题有什么想法吗?

import matplotlib.pyplot as plt

plt.plot()
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到的消息的屏幕截图

python matplotlib jupyter-notebook

9
推荐指数
2
解决办法
2万
查看次数

如何在 WSL2 中设置 D: 的起始目录?

我在 Windows 10 中使用 Ubuntu-20.04 WSL2。

我想D:在打开终端时接近,所以我将其添加到我的工作区中settings.json

"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Night",
"startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\mnt\\d" //added this
Run Code Online (Sandbox Code Playgroud)

但它不起作用(此代码将我连接到默认值mnt/c/Users/username)。

所以我也尝试了这个:

"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Night",
"startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\mnt" //added this
Run Code Online (Sandbox Code Playgroud)

这是工作。

如何设置起始目录d

linux windows-subsystem-for-linux wsl-2

8
推荐指数
1
解决办法
3308
查看次数

pandas 使用方法链重命名列

我有一个数据框并做了一些特征工程,现在想更改列名称。如果我做新的作业,我知道如何更改它们,但我想通过方法链接来完成。我尝试了下面的(rename行),但它不起作用。我怎样才能写它才能起作用?

df = pd.DataFrame({'ID':[1,2,2,3,3,3], 'date': ['2021-10-12','2021-10-16','2021-10-15','2021-10-10','2021-10-19','2021-10-01'], 
                   'location':['up','up','down','up','up','down'], 
                   'code':[False, False, False, True, False, False]})

df = (df
     .assign(date = lambda x: pd.to_datetime(x.date))
     .assign(entries_per_ID = lambda x: x.groupby('ID').ID.transform('size'))
     .pivot_table(values=['entries_per_ID'], index=['ID','date','code'],
                   columns=['location'], aggfunc=np.max)
     .reset_index()
     #.rename(columns=lambda x: dict(zip(x.columns, ['_'.join(col).strip() if col[1]!='' else col[0] for col in x.columns.values])))
     )

Run Code Online (Sandbox Code Playgroud)

这在这里可行,但这不是我想要的写法。

df.columns = ['_'.join(col).strip() if col[1]!='' else col[0] for col in df.columns.values ]
Run Code Online (Sandbox Code Playgroud)

python multiple-columns dataframe pandas

8
推荐指数
1
解决办法
2990
查看次数

获取时间点,并针对日期时间对象制作标签以关联点周围的事物

我正在尝试使用我服药的通常时间(因此 + 4 小时以上)并在数据框中填写一个带有标签的数据框,为 2,1 或 0,用于我服用这种药物的时间,或服药后一小时为 2 小时,因为刚停药。

作为数据框的示例,我也尝试添加此列,

<bound method NDFrame.to_clipboard of                           id  sentiment  magnitude  angry  disgusted  fearful  \
created                                                                         
2020-05-21 12:00:00     23.0  -0.033333        0.5    NaN        NaN      NaN   
2020-05-21 12:15:00      NaN        NaN        NaN    NaN        NaN      NaN   
2020-05-21 12:30:00      NaN        NaN        NaN    NaN        NaN      NaN   
2020-05-21 12:45:00      NaN        NaN        NaN    NaN        NaN      NaN   
2020-05-21 13:00:00      NaN        NaN        NaN    NaN        NaN      NaN   
...                      ...        ...        ...    ...        ...      ...   
2021-04-20 00:45:00      NaN        NaN        NaN    NaN        NaN      NaN   
2021-04-20 01:00:00      NaN …
Run Code Online (Sandbox Code Playgroud)

python pandas

7
推荐指数
1
解决办法
171
查看次数

Pandas DataFrame styler - 如何将 pandas dataframe 设置为 Excel 表的样式?

在此输入图像描述

如何将 pandas 数据框设置为 Excel 表格(替代行颜色)?

样品样式:

在此输入图像描述

样本数据:

import pandas as pd
import seaborn as sns

df = sns.load_dataset("tips")
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas pandas-styles

7
推荐指数
1
解决办法
1万
查看次数