我想写下下面的内容。到 csv 文件:
df.loc[0] = ['Total (2000)',
numpy.nan,
numpy.nan,
numpy.nan,
2.0,
1.6,
'10^6 km^2']
Run Code Online (Sandbox Code Playgroud)
有没有办法在以 6 是 10 的上标、2 是 km 的上标的格式编写“10^6 km^2”时做到这一点。如果无法导出到 csv,我可以导出到 Excel 吗?
我有这个人.python中的列表:
list_vals = ['primf_to_primf', 'primf_to_primn', 'primf_to_secdf', 'primf_to_secdn', 'primf_to_urban', 'primf_to_c3ann', 'primf_to_c4ann', 'primf_to_c3per', 'primf_to_c4per', 'primf_to_c3nfx', 'primf_to_pastr', 'primf_to_range', 'primn_to_primf', 'primn_to_primn', 'primn_to_secdf', 'primn_to_secdn', 'primn_to_urban', 'primn_to_c3ann', 'primn_to_c4ann', 'primn_to_c3per', 'primn_to_c4per', 'primn_to_c3nfx', 'primn_to_pastr', 'primn_to_range', 'secdf_to_primf', 'secdf_to_primn', 'secdf_to_secdf', 'secdf_to_secdn', 'secdf_to_urban', 'secdf_to_c3ann', 'secdf_to_c4ann', 'secdf_to_c3per', 'secdf_to_c4per', 'secdf_to_c3nfx', 'secdf_to_pastr', 'secdf_to_range', 'secdn_to_primf', 'secdn_to_primn', 'secdn_to_secdf', 'secdn_to_secdn', 'secdn_to_urban', 'secdn_to_c3ann', 'secdn_to_c4ann', 'secdn_to_c3per', 'secdn_to_c4per', 'secdn_to_c3nfx', 'secdn_to_pastr', 'secdn_to_range', 'urban_to_primf', 'urban_to_primn', 'urban_to_secdf', 'urban_to_secdn', 'urban_to_urban', 'urban_to_c3ann', 'urban_to_c4ann', 'urban_to_c3per', 'urban_to_c4per', 'urban_to_c3nfx', 'urban_to_pastr', 'urban_to_range', 'c3ann_to_primf', 'c3ann_to_primn', 'c3ann_to_secdf', 'c3ann_to_secdn', 'c3ann_to_urban', 'c3ann_to_c3ann', 'c3ann_to_c4ann', 'c3ann_to_c3per', 'c3ann_to_c4per', 'c3ann_to_c3nfx', 'c3ann_to_pastr', 'c3ann_to_range', 'c4ann_to_primf', 'c4ann_to_primn', 'c4ann_to_secdf', 'c4ann_to_secdn', 'c4ann_to_urban', …Run Code Online (Sandbox Code Playgroud) 我在python中有以下列表:
[(0.12156862745098039, 0.4666666666666667, 0.7058823529411765), (1.0, 0.4980392156862745, 0.054901960784313725), (0.17254901960784313, 0.6274509803921569, 0.17254901960784313), (0.8392156862745098, 0.15294117647058825, 0.1568627450980392), (0.5803921568627451, 0.403921568627451, 0.7411764705882353), (0.5490196078431373, 0.33725490196078434, 0.29411764705882354), (0.8901960784313725, 0.4666666666666667, 0.7607843137254902), (0.4980392156862745, 0.4980392156862745, 0.4980392156862745), (0.7372549019607844, 0.7411764705882353, 0.13333333333333333), (0.09019607843137255, 0.7450980392156863, 0.8117647058823529)]
Run Code Online (Sandbox Code Playgroud)
它包含多个元组.
如何重新排列它以便偶数位置的所有元素都移动到列表的末尾?不太确定如何处理这个问题.
如何将python时间戳转换为一年中的某一天:
Timestamp('2015-06-01 00:00:00')
Run Code Online (Sandbox Code Playgroud)
我想要一个数字,1月1日是1,1月2日是2 ... 12月31日是365(非闰年)
我有以下数据框:
country Duration
0 Afghanistan 0 days
1 Afghanistan 4 days
2 Afghanistan 0 days
3 Afghanistan 22 days
4 Afghanistan 6 days
... ...
316813 Zimbabwe (Rhodesia) 36 days
316814 Zimbabwe (Rhodesia) 6 days
316815 Zimbabwe (Rhodesia) 223 days
316816 Zimbabwe (Rhodesia) 6 days
316817 Zimbabwe (Rhodesia) 0 days
Run Code Online (Sandbox Code Playgroud)
我想将“持续时间”列转换为以下类别:
< 1 week, 1-4 weeks, 1-3 months, 3-6 months, 6-9 months, 9-12 months
我怎样才能做到这一点?
使用numpy.nan作为缺失值添加2个numpy数组a和b(均为2D)的正确方法是什么?
a + b要么
numpy.ma.sum(a,b)我想确保我的机器学习的操作顺序是正确的:
from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_selection import SelectFromModel
from sklearn.grid_search import GridSearchCV
# 1. Initialize model
model = RandomForestClassifier(5000)
# 2. Load dataset
iris = datasets.load_iris()
X, y = iris.data, iris.target
# 3. Remove unimportant features
model = SelectFromModel(model, threshold=0.5).estimator
# 4. cross validate model on the important features
k_fold = KFold(n=len(data), n_folds=10, shuffle=True)
for k, (train, test) in enumerate(k_fold):
self.model.fit(data[train], target[train])
# 5. grid search for best parameters
param_grid = {
'n_estimators': [1000, 2500, …Run Code Online (Sandbox Code Playgroud) 我在python中有一个字典:
dict_example = {'a': ['ab', 1, 2], 'b': ['sa', 23, 43], 'c': ['qw', 2, 12]}
Run Code Online (Sandbox Code Playgroud)
如何获取值包含字符串'sa'的键值对?我这样做了:
sub_str = 'qw'
{k: v for k, v in dict_example if v == sub_str}
Run Code Online (Sandbox Code Playgroud) def combine_lists(lt1, lt2):
if lt1[0] and lt2[0]:
lt = [lt1, lt2]
elif lt1[0] and not lt2[0]:
lt = [lt1]
elif not lt1[0] and lt2[0]:
lt = [lt2]
elif not lt1[0] and not lt2[0]:
lt = [None, None]
return lt
Run Code Online (Sandbox Code Playgroud)
上面的函数将2个列表组合成一个列表.例如,lt1可能是类似的东西['a', 'b']
什么是最简单的方法是将它从2个输入参数扩展到任意数量的列表作为输入.输出仍应是列表列表
- 编辑
lt1 = [1,2,3],lt2 = [4,5,6]的预期答案应为[[1,2,3],[4,5,6]]
这不是一个编程问题,但重要的是在python中编写干净的程序:
是否有在函数参数之间留空的最佳实践?比如哪个更好:
1.
idf['datetime'] = pandas.to_datetime(idf['Year'].astype(str) + ' ' + idf['JD'].astype(str), format = '%Y %j')
Run Code Online (Sandbox Code Playgroud)
或
2.
idf['datetime'] = pandas.to_datetime(idf['Year'].astype(str)+' '+idf['JD'].astype(str),format='%Y %j')
Run Code Online (Sandbox Code Playgroud)
还有,更好的是;
1.
idf['MONTH'] = idf['datetime'].apply(lambda x: x.month)
idf['DAY'] = idf['datetime'].apply(lambda x: x.day)
idf['unq'] = idf.groupby('Ob').cumcount() + 1
Run Code Online (Sandbox Code Playgroud)
或2.
idf['MONTH'] = idf['datetime'].apply(lambda x: x.month)
idf['DAY'] = idf['datetime'].apply(lambda x: x.day)
idf['unq'] = idf.groupby('Ob').cumcount() + 1
Run Code Online (Sandbox Code Playgroud) python ×10
list ×3
pandas ×3
arrays ×1
datetime ×1
dictionary ×1
nan ×1
numpy ×1
scikit-learn ×1
tuples ×1