小编Shi*_*ith的帖子

明智的元素连接多个列表(字符串列表)

我有一个字符串列表如下

lst = [['a','b','c'],['@','$','#'],['1','2','3']]
Run Code Online (Sandbox Code Playgroud)

我想明智地将list元素内的每个字符串连接起来,预期输出如下:

['a@1','b$2','c#3']
Run Code Online (Sandbox Code Playgroud)

的大小lst可以变化。有没有任何方法可以完成此操作而无需进行for循环。
我尝试使用地图,但无法正常工作。

map(str.__add__,(x for x in list))
Run Code Online (Sandbox Code Playgroud)

请帮忙。

python list concatenation python-3.x

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

Python请求获取JSON

这是我的要求。

h="API-AUTHENTICATION:key:secret"
r=requests.get("https://URL", h)
Run Code Online (Sandbox Code Playgroud)

这是回应: <Response [200]>

如果我打印请求的纯文本,(print(r.text))我会得到:

{
    "status": "OK",
    "data": [
        {
            "sort": 1,
            "parent_name": "Stocktake Demo",
            "timetables": [
                {
                    "active": 1,
                    "from_date": "Nov 01, 2019",
                    "timetable_data": {
                        "monday": [
                            {
                                "to": "23:59",
                                "from": "00:00"
                            }
                        ],
                        "tuesday": [
                            {
                                "to": "23:59",
                                "from": "00:00"
                            }
                        ],
                        "friday": [
                            {
                                "to": "23:59",
                                "from": "00:00"
                            }
                        ],
                        "wednesday": [
                            {
                                "to": "23:59",
                                "from": "00:00"
                            }
                        ],
                        "thursday": [
                            {
                                "to": "23:59",
                                "from": "00:00"
                            }
                        ],
                        "sunday": [
                            { …
Run Code Online (Sandbox Code Playgroud)

python iteration dictionary

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

从数据框中检索一定数量的行

我有一个数据框,

df = pd.DataFrame({"X1": ["A", "B", "A", "B", "B","C","C","C"],
"X2": ['FOO','BAR' ,'FOO1', 'BAR1', 'FOO2','BAR2','FOO3','BAR3']})

    X1  X2
0   A   FOO
1   B   BAR
2   A   FOO1
3   B   BAR1
4   B   FOO2
5   C   BAR2
6   C   FOO3
7   C   BAR3
Run Code Online (Sandbox Code Playgroud)

现在我正在计算给出 A:2、B:3、C:3 的值,我想根据 A 的计数提取行。这样,我可以有一个数据框,其中 2 行 A、2 B行和2行C。

所以输出应该是,

    X1  X2
0   A   FOO
2   A   FOO1
1   B   BAR
3   B   BAR1
5   C   BAR2
6   C   FOO3       
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

根据列值顺序训练测试拆分

我有一个数据框如下

df = pd.DataFrame({"Col1": ['A','B','B','A','B','B','A','B','A', 'A'],
                   "Col2" : [-2.21,-9.59,0.16,1.29,-31.92,-24.48,15.23,34.58,24.33,-3.32],
                   "Col3" : [-0.27,-0.57,0.072,-0.15,-0.21,-2.54,-1.06,1.94,1.83,0.72],
                   "y" : [-1,1,-1,-1,-1,1,1,1,1,-1]})
    
       Col1 Col2    Col3    y
    0   A   -2.21   -0.270  -1
    1   B   -9.59   -0.570   1
    2   B    0.16    0.072  -1
    3   A    1.29   -0.150  -1
    4   B   -31.92  -0.210  -1
    5   B   -24.48  -2.540   1
    6   A    15.23  -1.060   1
    7   B    34.58   1.940   1
    8   A    24.33   1.830   1
    9   A   -3.32    0.720  -1
Run Code Online (Sandbox Code Playgroud)

有没有办法分割数据帧(60:40 分割),以便每组的前 60% 的值Col1将被训练,最后 40% 的值将被测试。

火车 …

python-3.x pandas train-test-split

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

使用 beautiful soup 从 &lt;td&gt; 标签中提取正确格式的文本(中间有空格)

我正在尝试从ABBV 10-k sec 文件中的一个表格中提取列标题(第 25 页上的“发行人购买股权证券”表格-图表下方。)

<td>列标题标签中的内部标签<tr>,文本位于单独的<div>标签中,如下例所示

<tr>
  <td>
    <div>string1</div>
    <div>string2</div>
    <div>string3</div>
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

当尝试从标签中提取所有文本时,文本之间没有空格分隔(例如,对于上述 html 输出将是string1string3string3预期的string1 string3 string3)。

使用下面的代码从表中提取列标题

url = 'https://www.sec.gov/Archives/edgar/data/1551152/000155115218000014/abbv-20171231x10k.htm'
htmlpage = requests.get(url)
soup = BeautifulSoup(htmlpage.text, "lxml")
table = soup.find_all('table')[76]
rows = table.find_all('tr')
table_data = []
for tr in rows[2:3]:
    row_data=[]
    cells = tr.find_all(['td', 'th'], recursive=False)
    for cell in cells[1:4]:
        row_data.append(cell.text.encode('utf-8'))
    table_data.append([x.decode('utf-8').strip() for x in row_data])

print(table_data)
Run Code Online (Sandbox Code Playgroud)

输出:[['(a) TotalNumberof Shares(or …

html python beautifulsoup python-3.x

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

用熊猫数据框中另一列的值填充多列中的 Na

Pandas 版本0.23.4,python 版本3.7.1
我有一个数据框 df 如下

df = pd.DataFrame([[0.1, 2, 55, 0,np.nan],
                   [0.2, 4, np.nan, 1,99],
                   [0.3, np.nan, 22, 5,88],
                   [0.4, np.nan, np.nan, 4,77]],
                   columns=list('ABCDE'))
     A    B     C  D     E
0  0.1  2.0  55.0  0   NaN
1  0.2  4.0   NaN  1  99.0
2  0.3  NaN  22.0  5  88.0
3  0.4  NaN   NaN  4  77.0
Run Code Online (Sandbox Code Playgroud)

我想替换列中的 Na 值BC列“A”中的值。

预期输出是

     A   B      C    D      E 
0   0.1  2.0    55.0   0    NaN 
1   0.2  4.0    0.2 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas fillna

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

用于识别不同日期格式的正则表达式

我必须使用正则表达式从字符串中识别出不同的日期格式,如下所示。

date can contain 21/12/2018
or 12/21/2018
or 2018/12/21
or 12/2018
or 21-12-2018
or 12-21-2018
or 2018-12-21
or 21-Jan-2018
or Jan 21,2018
or 21st Jan 2018
or 21-Jan-2018
or Jan 21,2018
or 21st Jan 2018
or Jan 21, 2018
or Jan 21, 2018
or 2018 Dec. 21
or 2018 Dec 21
or 21st of Jan 2018
or 21st of Jan 2018
or Jan 2018
or Jan 2018
or Jan. 2018
or Jan, 2018
or 2018
[should recognize (year only), (year …
Run Code Online (Sandbox Code Playgroud)

python regex python-regex

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