我有一组数据。它显然具有一定的周期性。我想通过使用傅里叶变换找出它的频率并将其绘制出来。
这是我的一个镜头,但看起来不太好。
这是相应的代码,我不知道为什么它失败:
import numpy
from pylab import *
from scipy.fftpack import fft,fftfreq
import matplotlib.pyplot as plt
dataset = numpy.genfromtxt(fname='data.txt',skip_header=1)
t = dataset[:,0]
signal = dataset[:,1]
npts=len(t)
FFT = abs(fft(signal))
freqs = fftfreq(npts, t[1]-t[0])
subplot(211)
plot(t[:npts], signal[:npts])
subplot(212)
plot(freqs,20*log10(FFT),',')
xlim(-10,10)
show()
Run Code Online (Sandbox Code Playgroud)
我的问题是:由于原始数据看起来非常周期性,并且我期望看到在频域中峰值非常尖锐;我怎样才能让峰看起来更漂亮?
我正在尝试读取一个文件,其中的列由可变空格分隔。我想知道是否有一种方法可以通过根据为该列保留的字符数定义每列的宽度来读取文件。
例如:
A B C D
- ---------- -- ---
1 foo 32 9.5
4 bar 5.4
5 foofoo_bar 44
Run Code Online (Sandbox Code Playgroud)
假设我们必须读取上面的数据。请注意,C 列和 D 列中不存在某些条目。但是,请注意文件中的第二行(带有破折号的行)指示特定列可以包含的最大字符数。
那么,问题是给定数据集中每列的最大宽度,有没有办法使用 pandas 或任何其他包读取 python 中的数据集?
我有一个数据框,其中有一列,如下所示:
Value
xyz123
123
abc
def
Run Code Online (Sandbox Code Playgroud)
我想删除任何包含数字的行,所以我最终得到一个像这样的数据框:
Value
abc
def
Run Code Online (Sandbox Code Playgroud)
我努力了
df = df[df['Value'].str.contains(r'[^a-z]')]
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
“类型错误:‘方法’对象不可下标”
我想使用 BigQuery 中的旧版 SQL 根据日期和时间格式“2016-01-09 16:31:04.000 UTC”过滤数据。请帮我解决正确的语法。我被困住了。
代码
SELECT *
FROM
[table.column] AS Alias
WHERE
date > '2017-03-31Z';
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 NSE 网站抓取 Advances/Declines - https://www1.nseindia.com/live_market/dynaContent/live_market.htm
前进/下降在 HTML 中采用表格格式。但我无法检索网站中显示的实际数值。
from bs4 import BeautifulSoup
import pandas as pd
import requests
url = "https://www1.nseindia.com/live_market/dynaContent/live_market.htm"
webpage = requests.get(url);
soup = BeautifulSoup(webpage.content, "html.parser");
for tr in soup.find_all('tr'):
advance = tr.find_all('td')
print(advance)
Run Code Online (Sandbox Code Playgroud)
我只能得到一个空值或无。我不确定我做错了什么。当我检查网站中的元素时,我看到数值 978、904,但在 Spyder 中,这些元素中的值显示有连字符。有人可以帮忙吗?
我使用 tidymodels 框架拟合多项式逻辑回归模型来预测鸢尾花数据集中的物种。
library(tidymodels)
iris.lr = multinom_reg(
mode="classification",
penalty=NULL,
mixture=NULL
) %>%
set_engine("glmnet")
iris.fit = iris.lr %>%
fit(Species ~. , data = iris)
Run Code Online (Sandbox Code Playgroud)
然后我想查看模型的系数并写出公式。我的理解是我应该从 iris.fit 获取这个。
iris.fit 的输出有一个 100 行表,其中包含 Df、%Dev 、Lambda。iris 数据集只有 4 个预测变量。如何将此输出转换为系数?
我通过 scikit-learn 和搜索概率密度函数(PDF,黑线)获得了我的 SPS(太阳能发电站)发电的 GMM 模型:
但我想要一个概率函数(CDF 或累积分布函数)。换句话说,我想得到一个像示例一样的函数:
可以接收 y 轴上 [0, 1] 范围内的值,并在所有 x 轴上增长。scikit-learn 允许还是不允许?
如何将此VCF 数据转换为 pandas 数据框?
注意:复制问题不需要完整文件。只需前 50 行(上面要点链接的第一部分)就可以了。理想情况下,我希望采用以下形式:
到目前为止,我只能获取标题:
import pandas as pd
f = open('clinvar_final.txt',"r")
for line in f.readlines():
if line[:5] == 'CHROM':
vcf_header = line.strip().split('\t')
df = pd.DataFrame
df.header = vcf_header
Run Code Online (Sandbox Code Playgroud) pandasdf=pd.DataFrame(
{
"A": [1, 2, 3, 4, 5],
"fruits": ["banana", "banana", "apple", "apple", "banana"],
"B": [5, 4, 3, 2, 1],
"cars": ["beetle", "audi", "beetle", "beetle", "beetle"],
"optional": [28, 300, None, 2, -30],
}
)
pandasdf.groupby(["fruits","cars"])['B'].sum().unstack()
Run Code Online (Sandbox Code Playgroud)
如何在极坐标中创建等效的真值表?
类似于下表的真值表
df=pl.DataFrame(
{
"A": [1, 2, 3, 4, 5],
"fruits": ["banana", "banana", "apple", "apple", "banana"],
"B": [5, 4, 3, 2, 1],
"cars": ["beetle", "audi", "beetle", "beetle", "beetle"],
"optional": [28, 300, None, 2, -30],
}
)
df.groupby(["fruits","cars"]).agg(pl.col('B').sum()) #->truthtable
Run Code Online (Sandbox Code Playgroud)
代码的效率很重要,因为数据集太大(与 apriori 算法一起使用)
Polars 中的 unstack 函数是不同的,pd.crosstab …
我是Pandas的新手,在玩它的时候Dataframe,我找到了keys()非常类似的方法dict.keys().但我在文档中找不到它.我错过了什么?
data-analysis ×10
python ×8
pandas ×4
dataframe ×2
analytics ×1
csv ×1
dictionary ×1
numpy ×1
python-2.7 ×1
r ×1
scikit-learn ×1
scipy ×1
sql ×1
statistics ×1
tidymodels ×1
web-scraping ×1