如何用pandas根据excel的“路线描述”列筛选包含“江西”的数据,若有则保存到df1,若没有则输出“无江西路单”
时间: 2023-11-11 09:07:57 浏览: 86
好的,根据您的要求,以下是代码:
```python
import pandas as pd
# 读取excel文件,假设"路线描述"在第2列,第一行为表头
df = pd.read_excel("your_excel_file.xlsx", header=0, usecols=[1])
# 创建一个名为"江西"的Series来存储路线描述是否包含"江西"
contains_jiangxi = df.iloc[:,0].str.contains("江西")
# 检查是否存在江西路单
if any(contains_jiangxi):
# 存在江西路单,将数据保存到df1
df1 = df[contains_jiangxi]
else:
# 不存在江西路单,输出信息
print("无江西路单")
```
如果您需要筛选的是多个关键字,例如包含"江西"和"广东",可以像这样修改代码:
```python
contains_jiangxi_and_guangdong = df.iloc[:,0].str.contains("江西") & df.iloc[:,0].str.contains("广东")
if any(contains_jiangxi_and_guangdong):
df1 = df[contains_jiangxi_and_guangdong]
else:
print("无江西和广东路单")
```
希望这可以帮助您!
相关问题
python用pandas库输出excel某列数据
假设你要输出excel文件中名为"test.xlsx"的表格中第一列的数据,代码如下:
```python
import pandas as pd
# 读取excel文件
df = pd.read_excel("test.xlsx")
# 输出第一列数据
print(df.iloc[:,0])
```
这里使用了pandas的read_excel函数读取excel文件,并通过iloc函数选取第一列数据。如果你想要将选取的数据保存到新的excel文件中,可以使用to_excel函数,代码如下:
```python
# 将第一列数据保存到新的excel文件中
new_df = pd.DataFrame(df.iloc[:,0])
new_df.to_excel("new_test.xlsx", index=False)
```
这里使用了DataFrame函数将选取的第一列数据转化为新的数据框,并使用to_excel函数将数据保存到新的excel文件中。
pandas 有两个df数据,根据df1的最后一列数据,把df2的列匹配给df1
可以使用 pandas 的 merge 函数将两个 DataFrame 进行匹配,根据 df1 的最后一列数据将 df2 的列匹配给 df1。具体的操作如下:
``` python
import pandas as pd
# 生成示例数据
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': ['X', 'Y', 'Z']})
df2 = pd.DataFrame({'D': [7, 8, 9], 'E': [10, 11, 12], 'C': ['X', 'Y', 'Z']})
# 使用 merge 函数进行匹配
df_merged = pd.merge(df1, df2, on='C')
# 输出匹配后的结果
print(df_merged)
```
上述代码中,我们首先生成了两个示例数据 df1 和 df2,分别含有三列和两列数据。其中 df1 包含了最后一列 C,根据这一列数据将 df2 的列匹配给 df1。接着,我们使用 merge 函数将两个 DataFrame 进行匹配,使用 on='C' 表示根据 C 列进行匹配。最后,输出匹配后的结果,即包含所有列的新 DataFrame。