假设我有三个列表:
list_a = [1,2,3]
list_b = ['a','b','c']
list_c = [4,5,6]
Run Code Online (Sandbox Code Playgroud)
如何创建如下所示的嵌套字典:
dict = {1:{'a':4},2:{'b':5},3:{'c':6}
Run Code Online (Sandbox Code Playgroud)
我正在考虑使用collections模块中的defaultdict命令或创建一个类,但我不知道该怎么做
我一直在尝试使用Seaborn的lmplot()和Statsmodels .ols()函数来获得简单的线性回归图及其相关的p值,r平方等。
我注意到,当我指定要用于lmplot的列时,即使它具有多个单词,我也可以指定一列:
import seaborn as sns
import pandas as pd
input_csv = pd.read_csv('./test.csv',index_col = 0,header = 0)
input_csv
Run Code Online (Sandbox Code Playgroud)
sns.lmplot(x='Age',y='Count of Specific Strands',data = input_csv)
<seaborn.axisgrid.FacetGrid at 0x2800985b710>
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用ols,则输入“特定链数”作为我的因变量时会出错(我只列出了错误中的最后两行):
import statsmodels.formula.api as smf
test_results = smf.ols('Count of Specific Strands ~ Age',data = input_csv).fit()
File "<unknown>", line 1
Count of Specific Strands
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
相反,如果我指定“特定股数”,如下所示,则回归有效:
test_results = smf.ols('input_csv.iloc[:,1] ~ Age',data = input_csv).fit()
test_results.summary()
Run Code Online (Sandbox Code Playgroud)
有人知道为什么吗?仅仅是因为Statsmodels是如何编写的?是否可以指定不涉及iloc或loc的回归分析的因变量?
如果我想让python读取文件的第2行(或第4行),我怎么告诉它这样做?另外,如果我想读取.txt文件的第2行,但之后每4行读取(下一行将是第6行,然后是10行,依此类推),我该如何做呢?
python ×3
class ×1
dictionary ×1
for-loop ×1
list ×1
loops ×1
plot ×1
regression ×1
seaborn ×1
statsmodels ×1