我有一个如下数据框:
Ref Net
C1 1- A:VCC
C2 2- A:VDD
C3 3- A:GND
我想从1- A:
列中删除2- A:
,3- A:
和Net
:
Ref Net
C1 VCC
C2 VDD
C3 GND
我尝试了以下命令:
df.Net = df.Net.str.slice(df.Net.str.find('A:'))
但是随后Net
列变成了NaN
:
print(df.Net)
---------
0 NaN
1 NaN
2 NaN
slice命令返回正确的值:
print(df.Net.str.find('A:'))
------
0 3
1 3
2 3
我在这里想念什么?
答案 0 :(得分:2)
我认为net系列的类型为str。也许您应该尝试以下方法:
.js
如果类型为str,则 df['result'] = df['Net'].apply(str).apply(lambda x: x.split(':')[-1])
是可选的。
答案 1 :(得分:1)
您可以这样做:
<?php
// Server information
$server = "server\instance,port";
$database = "database";
$uid = "username";
$pwd = "password";
// Configuration
sqlsrv_configure("WarningsReturnAsErrors", 0);
// Connection
$cinfo = array(
"UID" => $uid,
"PWD" => $pwd,
"Database" => $database
);
$conn = sqlsrv_connect($server, $cinfo);
if ($conn === false) {
echo "Unable to connect.";
die( print_r( sqlsrv_errors(), true));
}
// Statement
$sql = "
DECLARE @date VARCHAR(19)
SET @date = CONVERT(VARCHAR(19), GETDATE(), 126)
SET @date = REPLACE(@date, ':', '-')
SET @date = REPLACE(@date, 'T', '-')
DECLARE @fileName VARCHAR(100)
SET @fileName = ('d:\backup\BackUp_' + @date + '.bak')
BACKUP DATABASE dbname
TO DISK = @fileName
WITH
FORMAT,
STATS = 1,
MEDIANAME = 'SQLServerBackups',
NAME = 'Full Backup of dbname';
";
$stmt = sqlsrv_query($conn, $sql);
if ($stmt === false) {
echo "Unable to execute query.";
die( print_r( sqlsrv_errors(), true));
}
// Clear buffer
while (sqlsrv_next_result($stmt) != null){};
echo "Success";
// End
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>
答案 2 :(得分:0)
您可以为此使用正则表达式
import pandas as pd
df = pd.DataFrame({'Ref':['C1', 'C2'], 'Net':['1- A:VCC', '2- A:VDD']})
df['Net'] = df['Net'].str.replace(r'\d- \w:', '')
输出:
Ref Net
0 C1 VCC
1 C2 VDD