我正在学习 Tensorflow 教程,并且遇到了快速傅立叶变换:
fft = tf.signal.rfft(df['T (degC)'])
f_per_dataset = np.arange(0, len(fft))
n_samples_h = len(df['T (degC)'])
hours_per_year = 24*365.2524
years_per_dataset = n_samples_h/(hours_per_year)
f_per_year = f_per_dataset/years_per_dataset
plt.step(f_per_year, np.abs(fft))
plt.xscale('log')
plt.ylim(0, 400000)
plt.xlim([0.1, max(plt.xlim())])
plt.xticks([1, 365.2524], labels=['1/Year', '1/day'])
_ = plt.xlabel('Frequency (log scale)')
Run Code Online (Sandbox Code Playgroud)
该数据集包含每小时的温度测量值。代码对此执行 FFT,以查看哪些组件有很大影响,基本上是在数据中找到周期性。这产生了以下情节:
虽然我不太了解X轴。我确实看到它是一个对数刻度,但是,我看到“1”对应于一年,“365.2524”代表每日周期。这是否意味着比例尺是“一年的第 n”,所以一年的第 1 是一年,一年的 365.2524 是一天,同样的逻辑 4 是一个季度,2 是半年之类的?如果是这样,最左边的值 (0) 是什么意思?在一年的第 0 日也有一些周期性——这在直觉上意味着什么?
这里还有一个。有一些关键的区别。这次的数据集是亚马逊股票的每日交易量(因此数据集不再是每小时,而是每天)。此外,该数据集仅包含 WEEKDAY 数据,因此将一年中的天数标记为 252(此数据集一年中的平均天数)。
fft = tf.signal.rfft(df['Volume'])
f_per_dataset = np.arange(0, len(fft))
n_samples_d = len(df['Volume'])
days_per_year = 252
years_per_dataset = n_samples_d/(days_per_year)
f_per_year = f_per_dataset/years_per_dataset …Run Code Online (Sandbox Code Playgroud) 我注意到如果我使用SQLContext和.sql()函数,我可以使用CASE-THEN和Spark .有没有办法在JAVA语法中直接在数据帧上使用它?怎么样?现在,我写道:
SparkConf sparkConf = new SparkConf();
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
SQLContext sqlContext = new SQLContext(ctx);
DataFrame df = //some imported data
df.registerTempTable("df");
sqlContext.sql("SELECT *use case-then in here* FROM df");
Run Code Online (Sandbox Code Playgroud)
我正在寻找类似的东西
df.select(case("this").then("that"));
Run Code Online (Sandbox Code Playgroud) 我正在尝试让数据库中的用户拥有数据库中最大段的所有权.为此,我正在尝试:
SELECT owner, MAX(bytes)
FROM SYS.DBA_SEGMENTS
GROUP BY owner
HAVING ROWNUM <= 1;
Run Code Online (Sandbox Code Playgroud)
然而,这会回来"not a GROUP BY expression".为什么我不能只选择第一行?我该怎么写这个查询?谢谢!
我想enum为可能的成绩做出贡献.这是一个有效的例子:
public enum Grade
{
A, B, C, D, E, F
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望成绩是整数,比如
public enum Grade
{
1, 2, 3, 4, 5
}
Run Code Online (Sandbox Code Playgroud)
为什么第一个工作但不是第二个?如何创建一个类似的变量只能取1-5的值(并且可以为空)?
我有一些时间'10:23:34 PM'以字符串格式输入,我想将其转换为类似的日期时间'22:23:45'。我正在使用
datetime = posts['time'].apply(lambda x: datetime.strptime(x, '%I:%M:%S %p').strftime('%I:%M:%S'))
Run Code Online (Sandbox Code Playgroud)
但是,这似乎无视AM / PM标记,并且所有信息都好像时间在AM一样,对于'10:23:34 PM'我'10:23:34'作为输出得到的输入是正确的,但应该是'22:23:45'。我怎样才能解决这个问题?
我有一个geoJSON文件,我想在子字段中提取所有可能的值.所以对于两件长json,它会是这样的:
data['features'][0]['properties']['cellId']
#returns 38
data['features'][1]['properties']['cellId']
#returns 51
Run Code Online (Sandbox Code Playgroud)
我想回来[38, 51].可能吗?我试过了
data['features'][0:]['properties']['cellId']
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为 TypeError: list indices must be integers or slices, not str
我试图在某些条件适用的情况下用 0 填充一些行。我想:
df.loc[:,(df.Available == True) & (df.Intensity.isnull())].Intensity = df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity.fillna(0, inplace=True)
Run Code Online (Sandbox Code Playgroud)
这不起作用 bc IndexingError: Unalignable boolean Series key provided,但是当我尝试时
df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity = df.loc[(df.Available == True) & (df.Intensity.isnull())].Intensity.fillna(0, inplace=True)
Run Code Online (Sandbox Code Playgroud)
注册为更新副本。我怎样才能做到这一点?谢谢!
我正在进行文本分析,我想忽略那些只是数字的"单词".例如.从文本"这是000斯巴达!" 只应使用'this','is'和'Sparta'这两个词.有没有办法做到这一点?怎么样?
我有两个 df-s:
我想沿着列连接,例如得到一个 1000x61118 的数据帧。所以我在做:
df_full = pd.concat([df_dev, df_temp2], axis=1)
df_full
Run Code Online (Sandbox Code Playgroud)
然而,这会产生 2000x61118 df,并用 NaN 填充所有内容......我不知道为什么。什么可能导致这种行为?
我有一个X包含整数、浮点数和字符串列的数据框。我想对“对象”类型的每一列进行单热编码,所以我试图这样做:
encoding_needed = X.select_dtypes(include='object').columns
ohe = preprocessing.OneHotEncoder()
X[encoding_needed] = ohe.fit_transform(X[encoding_needed].astype(str)) #need astype bc I imputed with 0, so some rows have a mix of zeroes and strings.
Run Code Online (Sandbox Code Playgroud)
但是,我最终得到了IndexError: tuple index out of range. 根据编码器期望的文档X: array-like, shape [n_samples, n_features],我不太明白这一点,所以我应该可以传递数据帧。如何对专门标记为 的列列表进行一次性编码encoding_needed?
编辑:
数据是机密的,因此我无法共享它,也无法创建虚拟数据,因为它按原样有 123 列。
我可以提供以下内容:
X.shape: (40755, 123)
encoding_needed.shape: (81,) and is a subset of columns.
Run Code Online (Sandbox Code Playgroud)
全栈:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-90-6b3e9fdb6f91> in <module>()
1 encoding_needed = X.select_dtypes(include='object').columns
2 …Run Code Online (Sandbox Code Playgroud)