我有一个 .csv 文件,其中包含如下数据:
RI Na Mg Al Si K Ca Ba Fe Type
1 1.51793 12.79 3.50 1.12 73.03 0.64 8.77 0.00 0.00 BWF
2 1.51643 12.16 3.52 1.35 72.89 0.57 8.53 0.00 0.00 VWF
3 1.51793 13.21 3.48 1.41 72.64 0.59 8.43 0.00 0.00 BWF
4 1.51299 14.40 1.74 1.54 74.55 0.00 7.59 0.00 0.00 TBL
5 1.53393 12.30 0.00 1.00 70.16 0.12 16.19 0.00 0.24 BWNF
6 1.51655 12.75 2.85 1.44 73.27 0.57 8.79 0.11 0.22 BWNF
Run Code Online (Sandbox Code Playgroud)
我想为每一列的分布创建直方图。我试过这个: …
我想比较两个文件,并做这样的事情:如果第一个文件中的第5列等于第二个文件中的第5列,我想打印第一个文件中的整行.那可能吗?我搜索了这个问题,但无法找到解决方案:(
文件由制表符分隔,我试过这样的事情:
zcat file1.txt.gz file2.txt.gz | awk -F'\t' 'NR==FNR{a[$5];next}$5 in a {print $0}'
Run Code Online (Sandbox Code Playgroud)
有没有人试图做类似的事情?:)
在此先感谢您的帮助!
在对词袋实现线性回归模型期间,python 返回了非常大/非常低的值。train_data_features包含训练数据中的所有单词。训练数据包含大约 400 条评论,每条评论少于 500 个字符,排名在 0 到 5 之间。之后,我为每个文档创建了一个词袋。在尝试对所有词袋的矩阵进行线性回归时,
from sklearn import linear_model
clf = linear_model.LinearRegression()
clf.fit(train_data_features, train['dim_hate'])
coef = clf.coef_
words = vectorizer.get_feature_names()
for i in range(len(words)):
print(str(words[i]) + " " + str(coef[i]))
Run Code Online (Sandbox Code Playgroud)
结果似乎很奇怪(只是 4000 中的 3 个示例)。它显示了为单词创建的回归函数的因素。
btw -0.297473967075
land 54662731702.0
landesrekord -483965045.253
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为目标变量在 0 到 5 之间,但因子是如此不同。他们中的大多数都有非常高/低的数字,我只期待像btw.
你有什么想法,为什么结果是这样的?
我有以下数据框:
id total_transfered_amount day
1 1000 2
1 2000 3
1 3000 4
1 1000 1
1 10000 4
2 5000 3
2 6000 4
2 40000 2
2 4000 3
2 4000 3
3 1000 1
3 2000 2
3 3000 3
3 30000 3
3 3000 3
Run Code Online (Sandbox Code Playgroud)
需要使用 dplyr 包preferabely分别为每个id过滤掉'total_transfered_amount'列中超过90个百分点的行,例如我需要过滤掉以下行:
2 40000 2
3 30000 3
Run Code Online (Sandbox Code Playgroud) 我在数据框中有一个日期变量,日期为“YYYY-MM-DD”格式。
我在tidyr包中使用了单独的函数(下面),但它没有在表中添加列。
separate(<table name>, "<date variable>", c("Year", "Month", "Day"), sep = "-")
Run Code Online (Sandbox Code Playgroud)
如何将“年”、“月”和“日”变量添加到表的末尾?
我想加入两个数据框。已经尝试过 concat、merge 和 join,但我应该做错了什么。
df 1:
index cnpj country state
1 7468 34 23
4 3421 23 12
7 2314 12 45
df 2:
index cnpj street number
2 7468 32 34
5 3421 18 89
546 2314 92 73
Run Code Online (Sandbox Code Playgroud)
我希望使用“cnpj”作为“连接键”合并它们并保留 df1 的索引。它应该是这样的:
df 1:
index cnpj country state street number
1 7468 34 23 32 34
4 3421 23 12 18 89
7 2314 12 45 92 73
Run Code Online (Sandbox Code Playgroud)
关于如何做到这一点的任何建议?
我制作了Iris 数据集的Pandas 数据框,我想在其中添加 4 个额外的列。列的内容必须是 SepalRatio、PetalRatio、SepalMultiplied、PetalMultiplied。我使用 DataFrame 的 assign() 函数来添加这四列,但 DataFrame 保持不变。
我添加列的代码是:
iris.assign(SepalRatio = iris['SepalLengthCm'] / `iris['SepalWidthCm']).assign(PetalRatio = iris['PetalLengthCm'] / iris['PetalWidthCm']).assign(SepalMultiplied = iris['SepalLengthCm'] * iris['SepalWidthCm']).assign(PetalMultiplied = iris['PetalLengthCm'] * iris['PetalWidthCm'])`
Run Code Online (Sandbox Code Playgroud)
在 Jupyter notebook 中执行时,会显示正确的表,但如果我使用打印语句,则不会添加四列。
Jupyter 笔记本中的输出:
Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species SepalRatio PetalRatio SepalMultiplied PetalMultiplied
0 1 5.1 3.5 1.4 0.2 Iris-setosa 1.457143 7.000000 17.85 0.28
1 2 4.9 3.0 1.4 0.2 Iris-setosa 1.633333 7.000000 14.70 0.28
2 3 4.7 3.2 1.3 0.2 Iris-setosa 1.468750 6.500000 15.04 …Run Code Online (Sandbox Code Playgroud) 我试图在我的 dask 数据框中删除一些行:
df.drop(df[(df.A <= 3) | (df.A > 1000)].index)
Run Code Online (Sandbox Code Playgroud)
但是这个不起作用并返回 NotImplementedError: Drop currently only works for axis=1
我真的需要帮助
我正在尝试将 Pandas 数据框列名转换为字典。不太担心数据框中的实际数据。
假设我有一个这样的示例数据框,我现在不太担心索引:
Col1 Col2 Col3 Col4
--------------------
a b c a
b d e c
Run Code Online (Sandbox Code Playgroud)
我想得到一个字典的输出,如:
{'Col1': 0, 'Col2': 1, 'Col3': 2, 'Col4': 3}
Run Code Online (Sandbox Code Playgroud)
不用太担心它们打印出来的顺序,只要字典中指定的键保持每个列名顺序的顺序即可。
我有一个按时间顺序排序的事件数据集。我使用熊猫数据框。这是数据框的样子:
Time Event Location ID
2020-05-22 21:22:04.784622 start UK 50
2020-05-22 21:43:07.060629 end UK 50
2020-05-25 23:22:04.784622 start UK 50
2020-05-25 23:43:07.060629 end UK 50
2020-05-25 23:44:15.000566 start US 30
2020-05-25 23:48:23.416348 start Italy 70
2020-05-26 00:48:06.820164 end US 30
2020-05-26 01:33:42.454450 end Italy 70
2020-05-27 20:48:23.416348 start Italy 30
2020-05-27 00:33:42.454450 end Italy 30
etc
Run Code Online (Sandbox Code Playgroud)
这就是我想要的:
Start_Time End_Time Location ID
2020-05-22 21:22:04.784622 2020-05-22 21:43:07.060629 UK 50
2020-05-25 23:22:04.784622 2020-05-25 23:43:07.060629 UK 50
2020-05-25 23:44:15.000566 2020-05-26 00:48:06.820164 US 30
2020-05-25 …Run Code Online (Sandbox Code Playgroud) data-analysis ×10
python ×5
dataframe ×4
pandas ×4
r ×3
data-science ×2
python-3.x ×2
awk ×1
bash ×1
comparison ×1
dask ×1
date ×1
datetime ×1
dictionary ×1
dplyr ×1
histogram ×1
jupyter ×1
linux ×1
numpy ×1
percentile ×1
scikit-learn ×1
statistics ×1