相关疑难解决方法(0)

在python中交错两个或多个列表的最佳方法?

假设我有一个列表:

l=['a','b','c']
Run Code Online (Sandbox Code Playgroud)

及其后缀列表:

l2 = ['a_1', 'b_1', 'c_1']
Run Code Online (Sandbox Code Playgroud)

我希望所需的输出为:

out_l = ['a','a_1','b','b_2','c','c_3']
Run Code Online (Sandbox Code Playgroud)

结果是上面两个列表的交错版本.

我可以编写常规for循环来完成这项工作,但我想知道是否有更多Pythonic方式(例如,使用list comprehension或lambda)来完成它.

我尝试过这样的事情:

list(map(lambda x: x[1]+'_'+str(x[0]+1), enumerate(a)))
# this only returns ['a_1', 'b_2', 'c_3']
Run Code Online (Sandbox Code Playgroud)

此外,对于一般情况需要做出哪些改变,即对于2个或更多列表,其中l2不一定是衍生物l

python performance list-comprehension list

30
推荐指数
3
解决办法
3256
查看次数

将缺失值估算为 0,并在 Pandas 中创建指标列

我在 Pandas 中有一个非常简单的数据框,

testdf = [{'name' : 'id1', 'W': np.NaN, 'L':   0, 'D':0},
          {'name' : 'id2', 'W':   0, 'L': np.NaN, 'D':0},
          {'name' : 'id3', 'W':  np.NaN, 'L':  10, 'D':0},
          {'name' : 'id4', 'W':  75, 'L':  20, 'D':0}
          ]
testdf = pd.DataFrame(testdf)
testdf = testdf[['name', 'W', 'L', 'D']]  
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

| name | W   | L   | D |
|------|-----|-----|---|
| id1  | NaN | 0   | 0 |
| id2  | 0   | NaN | 0 |
| id3  | NaN …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas imputation

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

如何水平连接2个数据帧(行和列)?

我有2个数据帧

DF1

  Cols/Rows   A    B    C
0         A   50  150  200
1         B  200  250  300
2         C  350  400  450
Run Code Online (Sandbox Code Playgroud)

DF2

  Cols/Rows    A    B    C
0         A   50  150  200
1         B  200  300  300
2         C  370  400  450
Run Code Online (Sandbox Code Playgroud)

我的预期产量

  Cols/Rows    A    A2    B     B2    C    C2
0         A   50    50   150    150  200   200
1         B  200    200  250    300  300   300
2         C  350    370  400    400  450   450
Run Code Online (Sandbox Code Playgroud)

我想用col和row方式创建新的数据框合并.我试图使用,merge()但它没有奏效

print(df2.merge(df1, how='left'))
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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