我想选择值不以某些str开头的行.例如,我有一只熊猫df,我想选择不开始的数据t,和c.在此示例中,输出应为mext1和okl1.
import pandas as pd
df=pd.DataFrame({'col':['text1','mext1','cext1','okl1']})
df
col
0 text1
1 mext1
2 cext1
3 okl1
Run Code Online (Sandbox Code Playgroud)
我要这个:
col
0 mext1
1 okl1
Run Code Online (Sandbox Code Playgroud) 我正在尝试用NaN值替换数据中的一些空列表.但是如何在表达式中表示一个空列表?
import numpy as np
import pandas as pd
d = pd.DataFrame({'x' : [[1,2,3], [1,2], ["text"], []], 'y' : [1,2,3,4]})
d
x y
0 [1, 2, 3] 1
1 [1, 2] 2
2 [text] 3
3 [] 4
d.loc[d['x'] == [],['x']] = d.loc[d['x'] == [],'x'].apply(lambda x: np.nan)
d
ValueError: Arrays were different lengths: 4 vs 0
Run Code Online (Sandbox Code Playgroud)
而且,我想选择[text]使用d[d['x'] == ["text"]]带有ValueError: Arrays were different lengths: 4 vs 1错误,但选择3使用d[d['y'] == 3]是正确的.为什么?
我有一个Pandas DataFrame.我想用条形图绘制两列的值,条形图按另一列对值进行排序.
例如,我想按列降序排列值a_b(列a和的总和b).另外,xlabel旋转,我想修复它.
非常感谢您的帮助.
import pandas as pd
%matplotlib inline
a = pd.Series([4,8,6,7,8,3,9,7])
b = pd.Series([3,6,8,3,4,6,10,4])
a_b = a+b
df = pd.concat([a,b,a_b],axis=1,join='inner')
df.columns = ['a','b','c']
df[['a','b']].sort_values(by='a',ascending=False).plot(kind='bar',stacked=True)
Run Code Online (Sandbox Code Playgroud)
如何通过列表理解来表达?新手需要帮助。非常感谢。下面的代码:
lst = ['chen3gdu',2,['chengdu','suzhou']]
result = []
for elem in lst:
if type(elem) == list:
for num in elem:
result.append(num)
else:
result.append(elem)
Run Code Online (Sandbox Code Playgroud) 我想使用 pandas 从 CSV 文件中读取read_csv。CSV 文件没有列名。当我使用 Pandas 读取 CSV 文件时,第一行默认设置为列。但是当我使用时df.columns = ['ID', 'CODE'],第一行不见了。我想添加,而不是替换。
df = pd.read_csv(CSV)
df
a 55000G707270
0 b 5l0000D35270
1 c 5l0000D63630
2 d 5l0000G45630
3 e 5l000G191200
4 f 55000G703240
df.columns=['ID','CODE']
df
ID CODE
0 b 5l0000D35270
1 c 5l0000D63630
2 d 5l0000G45630
3 e 5l000G191200
4 f 55000G703240
Run Code Online (Sandbox Code Playgroud)