小编Mai*_*and的帖子

Python生成两个日期之间的日期列表

我想生成两个日期之间的日期列表,并将它们以字符串格式存储在列表中。此列表可用于与我拥有的其他日期进行比较。

我的代码如下:

from datetime import date, timedelta

sdate = date(2019,3,22)   # start date
edate = date(2019,4,9)   # end date

def dates_bwn_twodates(start_date, end_date):
    for n in range(int ((end_date - start_date).days)):
        yield start_date + timedelta(n)
print(dates_bwn_twodates(sdate,edate))
Run Code Online (Sandbox Code Playgroud)

我现在的输出:

<generator object dates_bwn_twodates at 0x000002A8E7929410>
Run Code Online (Sandbox Code Playgroud)

我的预期输出:

['2019-03-22',.....,'2019-04-08']
Run Code Online (Sandbox Code Playgroud)

我的代码有问题。

python dataframe pandas

24
推荐指数
4
解决办法
4万
查看次数

Pandas 前向填充,但仅限于相等值之间

我有两个数据框:主数据框和辅助数据框。我正在将辅助连接到主连接。它导致几行中出现 NaN,我想填充它们,而不是全部。代码:

df1 = pd.DataFrame({'Main':[00,10,20,30,40,50,60,70,80]})
df1 = 
   Main
0     0
1    10
2    20
3    30
4    40
5    50
6    60
7    70
8    80
df2 = pd.DataFrame({'aux':['aa','aa','bb','bb']},index=[0,2,5,7])
df2 = 
  aux
0   aa  
2   aa
5   bb
7   bb
df = pd.concat([df1,df2],axis=1)
# After concating, in the aux column, I want to fill the NaN rows in between 
# the rows with same value. Example, fill rows between 0 and 2 with 'aa', 2 and 5 NaN, 5 and …
Run Code Online (Sandbox Code Playgroud)

python pandas fillna

6
推荐指数
1
解决办法
788
查看次数

Python如何将数据帧的两列组合成一个列表?

我有一个如下所示的数据框

df = 

index    data1    data2
0         20       120
1         30       456
2         40       34
Run Code Online (Sandbox Code Playgroud)

如何将上面 df 中的两列组合成一个列表,以便第一行元素先出现,然后是第二行。

我的预期输出

my_list = [20,120,30,456,40,34]
Run Code Online (Sandbox Code Playgroud)

我的代码:

list1 = df['data1'].tolist()
list2 = df['data2'].tolist()

my_list = list1+list2
Run Code Online (Sandbox Code Playgroud)

这不起作用?

python dataframe pandas

5
推荐指数
2
解决办法
104
查看次数

在 Plotly 中使用三个 1D 浮点数组创建 3D 曲面图

我正在尝试使用浮点数组创建 3D 曲面图。我尝试了可用的答案,但没有成功。

我的代码:

     ydata       xdata      zdata
0  667.029710  38.666953  2156.370026
1  673.518030  38.578639  2167.733673
2  928.285970  39.558060  2984.315454
3  947.973966  39.329530  3065.414025
4  904.826638  40.241960  3071.355114
5  901.673720  40.259228  2947.752668
6  910.980404  41.478425  2906.467214
7  916.008852  41.813555  2933.900440
8  913.971114  41.583315  2955.543549
9  933.040692  42.577816  2979.264288 

import plotly.graph_objects as go
import plotly.graph_objs
import pandas as pd
import numpy as np
xdata = df['xdata'].values
ydata = df['ydata'].values
zdata = df['zdata'].values
plotly.offline.plot({"data":[go.Surface(z=zdata, x=xdata, y=ydata)],
"layout":plotly.graph_objs.Layout(title='Some data', autosize=False,
                  width=500, height=500,
                  margin=dict(l=65, r=50, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib plotly

5
推荐指数
1
解决办法
1632
查看次数

Python:Plotly 3D 曲面图

我很难绘制 Plotly 3d 曲面图。我有一个 4000 行和三列的大数据框。我确实在这里提问并得到了一些答案。当我尝试它们时,代码运行需要几个小时,但我看不到任何情节。我想确认我所做的是正确的。因为我是曲面图的新手。

我的代码:

import plotly.graph_objects as go
import plotly.graph_objs
import plotly
df = 
index     x           y           z
0        10.2        40.5        70.5            
1        30.5        30.2       570.5
.
.
4000     100.5       201.5      470.5

df['z']= [df['z'].tolist for x in df.index]
df = 
index     x           y           z
0        10.2        40.5       [70.5,570.5,..,470.5]            
1        30.5        30.2       [70.5,570.5,..,470.5]
.
.
4000     100.5       201.5      [70.5,570.5,..,470.5]

    zdata = [df['z'].tolist()]*len(df)
    plotly.offline.plot({"data":[go.Surface(x=df['x'].values,
                                            y=df['y'].values,
                                            z = df['z'].values)],
    "layout":plotly.graph_objs.Layout(title='Some data', autosize=False,
                      width=600, height=600,
                    scene = dict(xaxis_title='x',
                    yaxis_title='y',
                    zaxis_title='z'),
                      margin=dict(l=10, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib dataframe plotly

5
推荐指数
1
解决办法
1404
查看次数

Python Dataframe 向列添加描述

我想向列添加描述,例如我收集数据的数据源。这样的事可能吗?大约 8 年前,有人在“ Adding my own description attribute to a Pandas DataFrame”中提出了类似的问题,但没有答案。

我的代码:

df=
     
index            colA          colB
#description     from SensorA   SensorB   # Description row 
1
2
3
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Python将数据框中的1.0和0.0替换为True和False

我有一个大数据框。我想用 true 和 false 替换 float 1.0 和 0.0。

我的代码:

import pandas as pd

df = pd.DataFrame({"A":[1.0,0.0,1.0,0.0]})
df.replace(1.0,True,inplace=True).replace(0.0,False,inplace=True) 
Run Code Online (Sandbox Code Playgroud)

当前输出:

AttributeError: 'NoneType' object has no attribute 'replace'
Run Code Online (Sandbox Code Playgroud)

如果我分两行分别做,它就会起作用。我想用一行来做。

python replace dataframe pandas

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

Linux Bash grep 从匹配字符串中提取单词

我有以特殊字符开头@并以 结尾的数字900,现在我想提取之间的文本,排除它们。我的代码:

>> cat demo.txt
asdfsdf
@ 1234900 asdf dfasd
asdf @ 1345900-asdfad wer
@ 678900-asdfa adf 

>> grep -Po '@\K.*900' demo.txt
1234900
1345900
678900
Run Code Online (Sandbox Code Playgroud)

预期答案:

1234
1345
678
Run Code Online (Sandbox Code Playgroud)

regex grep pcre

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

Python 检查列表中的所有元素是否都是 Nan

我的代码有时会生成 nan 的op_list = [nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]. 我想知道是否所有元素都是nans。

我的代码和当前输出:

  op_list = [nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]
  print(np.isnan(op_list))
array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
        True])
Run Code Online (Sandbox Code Playgroud)

我的预期输出:

   True
Run Code Online (Sandbox Code Playgroud)

python numpy nan

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

Python数据框删除出现频率较低的行

我有一个数据框,其中重复出现的行具有不同的名称。我想删除较少出现的行。我的数据框非常大。我这里只提供小尺寸。

数据框:

df = 
         name     value
    0      A      10
    1      B      20
    2      A      30
    3      A      40
    4      C      50
    5      C      60
    6      D      70
Run Code Online (Sandbox Code Playgroud)

在上面的数据帧中,B 和 D 行出现的次数较少。小于 1。我想删除/删除所有出现次数小于 2 的此类行。

我的代码:

##### Net strings
net_strs = df['name'].unique().tolist()
strng_list = df.group.unique().tolist()
tempdf = df.groupby('name').count()
##### strings that have less than 2 measurements in whole data set
lesstr = tempdf[tempdf['value']<2].index
##### Strings that have more than 2 measurements in whole data set
strng_list = np.setdiff1d(net_strs,lesstr).tolist()
##### Removing the …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas pandas-groupby

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

标签 统计

python ×9

dataframe ×6

pandas ×6

matplotlib ×2

plotly ×2

fillna ×1

grep ×1

nan ×1

numpy ×1

pandas-groupby ×1

pcre ×1

regex ×1

replace ×1