小编use*_*827的帖子

将 pandas 数据框中的上标符号导出到 csv 或 excel

我想写下下面的内容。到 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 pandas

0
推荐指数
1
解决办法
1967
查看次数

基于多个条件从python中的列表中删除元素

我有这个人.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 list

0
推荐指数
1
解决办法
62
查看次数

重新排列python列表中元素的顺序

我在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 tuples list

0
推荐指数
1
解决办法
2825
查看次数

将python时间戳转换为一年中的某一天

如何将python时间戳转换为一年中的某一天:

Timestamp('2015-06-01 00:00:00')
Run Code Online (Sandbox Code Playgroud)

我想要一个数字,1月1日是1,1月2日是2 ... 12月31日是365(非闰年)

python datetime

0
推荐指数
1
解决办法
5964
查看次数

将 pandas 数据框中的天数转换为其他类别

我有以下数据框:

                 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

我怎样才能做到这一点?

python pandas

0
推荐指数
1
解决办法
56
查看次数

添加两个2D NumPy数组,忽略其中的NaN

使用numpy.nan作为缺失值添加2个numpy数组a和b(均为2D)的正确方法是什么?

  1. a + b

要么

  1. numpy.ma.sum(a,b)

python arrays numpy nan

-1
推荐指数
2
解决办法
3803
查看次数

确保在scikit中随机森林分类中的正确操作顺序学习

我想确保我的机器学习的操作顺序是正确的:

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 pandas scikit-learn

-1
推荐指数
1
解决办法
737
查看次数

获取键值对,其中值包含python中的字符串

我在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)

python dictionary

-1
推荐指数
1
解决办法
90
查看次数

将python中的多个列表组合到单个列表中

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 list

-3
推荐指数
1
解决办法
1421
查看次数

在python中格式化语句的最佳实践

这不是一个编程问题,但重要的是在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

-4
推荐指数
1
解决办法
63
查看次数

标签 统计

python ×10

list ×3

pandas ×3

arrays ×1

datetime ×1

dictionary ×1

nan ×1

numpy ×1

scikit-learn ×1

tuples ×1